Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / find, rm - No such file or directory / 25 сообщений из 34, страница 1 из 2
17.11.2007, 03:40:06
    #34946526
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
solaris9. есть скрипт который выполняется из крона.

его кусок:
Код: plaintext
1.
2.
3.
4.
5.
LOG_LIVE_TIME=8
LOG_BASEDIR="/exp/*/LOG"
...
# delete old LOG files
find $LOG_BASEDIR -mtime +$LOG_LIVE_TIME \( -name '*.log' -o -name '*.log.gz' \) -exec rm -f {} \;

выдает ошибку:
Код: plaintext
1.
2.
3.
...
cannot open /exp/db/LOG/1_46499_577363081.log: No such file or directory
...
не на один, а на кучу файлов естественно. Но файлы удаляет.

есть версия, что нужно вставить перед find: cd $LOG_BASEDIR - но зачем не пойму

поясните пожалуйста.
...
Рейтинг: 0 / 0
17.11.2007, 22:10:45
    #34947059
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Мочи его truss-ом.

P.S.: Тема '*' в имени директории не раскрыта.
...
Рейтинг: 0 / 0
18.11.2007, 15:10:01
    #34947405
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Scott TigerМочи его truss-ом.
боюсь знания не позволят :(

Тема '*' в имени директории не раскрыта.
то что там может быть несколько каталогов с логами надеюсь понятно. Может имелось ввиду что экранировать надо?
...
Рейтинг: 0 / 0
18.11.2007, 21:52:47
    #34947660
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
truss -o output_file_name -fael "your command"

файл в студию

Если * - маска, то как можно сделать cd туда?
...
Рейтинг: 0 / 0
19.11.2007, 05:15:19
    #34947810
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Scott Tigertruss -o output_file_name -fael "your command"
если я вставляю truss внутрь скрипта перед find, то он ругается:
Код: plaintext
truss: cannot find program: find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \;

пробовал из командной строки: truss script.name.sh отрабатывает, трассу создает. Но проблема в том что ошибок нет. раньше так же было: из крона ругань, руками ОК. Я забил, поставил dev/null в конце, а теперь думал разобраться.

Scott TigerЕсли * - маска, то как можно сделать cd туда?
я тоже так подумал, потому и не сделал СД :)

Дело не в маске. Я так же rdbms/audit чищу - все что старше 1 дня. ругань та же. В него cd я делаю.
Код: plaintext
1.
cln_fs: [ID 702911 local0.warning] cannot open ./ora_1040.a
ud: No such file or directory

а вот та команда:
Код: plaintext
find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \;
...
Рейтинг: 0 / 0
19.11.2007, 09:36:13
    #34947951
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
видно truss не в PATH просто.

можно ещё поставить пока заместо rm строчку -exec echo {} \;
и посмотреть, с какими именно файлами оно пытается работать.
...
Рейтинг: 0 / 0
19.11.2007, 10:04:04
    #34948011
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
--null--видно truss не в PATH просто.
как так: из командной строки запускает, а в скрипте тут же нет

--null--можно ещё поставить пока заместо rm строчку -exec echo {} \;
и посмотреть, с какими именно файлами оно пытается работать.
эти файлы у меня и так есть в логе ошибок, но он их удаляет (хоть и с руганью). и даже если он (после замены) поругается и не удалит - что мне с ними делать. Наверняка с файлами все в порядке.
...
Рейтинг: 0 / 0
19.11.2007, 10:16:42
    #34948039
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Вопрошатель Scott Tigertruss -o output_file_name -fael "your command"
если я вставляю truss внутрь скрипта перед find, то он ругается:
Код: plaintext
truss: cannot find program: find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \;


Сорри, это я облажался - кавычки не нужны, просто truss -o output_file_name -fael find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \;
...
Рейтинг: 0 / 0
20.11.2007, 11:41:02
    #34951234
fandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Scott Tigertruss -o output_file_name -fael "your command"

файл в студию

Если * - маска, то как можно сделать cd туда?


легко :)

# cd /e*
# pwd
/etc



to: Вопрошатель

удаление файла / просмотра каталога / переход в каталог
- за это отвечают разные атрибуты каталогов, так что ничего удивительного нет, почитайте соответствующие темы в доке :)
...
Рейтинг: 0 / 0
20.11.2007, 13:18:37
    #34951707
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
fandr
легко :)

# cd /e*
# pwd
/etc


Хехе. В этом случае проще сделать cd /etc сразу :)
...
Рейтинг: 0 / 0
21.11.2007, 01:57:08
    #34953755
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
проблема какая-то плавающая - два дня все чистится нормально.

2fandr
а можно чуть поконкретнее, применительно к проблеме?
...
Рейтинг: 0 / 0
21.11.2007, 12:30:25
    #34954873
fandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
# man chmod


а может все проще - нет сучего файла или каталога... ;-)
...
Рейтинг: 0 / 0
22.11.2007, 04:49:18
    #34956992
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
fandr# man chmod
ну и как это мне поможет? создаю я файлы ораклом и скрипт с find запускается от него же.

fandr
а может все проще - нет сучего файла или каталога... ;-)
что значит нет? find их находит. Или find видит файлы которые не видит его часть (rm {}), она ругается, а утром файлы из ругани не вижу я?
...
Рейтинг: 0 / 0
22.11.2007, 11:46:36
    #34957646
fandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Вопрошатель fandr# man chmod
ну и как это мне поможет? создаю я файлы ораклом и скрипт с find запускается от него же.

fandr
а может все проще - нет сучего файла или каталога... ;-)
что значит нет? find их находит. Или find видит файлы которые не видит его часть (rm {}), она ругается, а утром файлы из ругани не вижу я?


сам то понял что сказал?

если сучего файла нет (find), то и удалять нечего (rm), естественно что утром ничего не видно...
или я чего-то не понимаю?...
...
Рейтинг: 0 / 0
22.11.2007, 11:59:00
    #34957706
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
# rm fdsfsdfsd
rm: fdsfsdfsd non-existent

# bash cd dfgdfgdfg
/usr/bin/cd: line 7: cd: dfgdfgdfg: No such file or directory

# sh cd ddfdgd
cd[7]: ddfdgd: not found.
...
Рейтинг: 0 / 0
23.11.2007, 02:29:40
    #34959957
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Денис, если вы мне, то я не совсем понял.

скрипт вызывается через sh. В профайле оракл стоит bash. Может засада в этом?

100% каждую ночь происходит удаление - логи то генерятся ежедневно. Сейчас вот опять работает без ошибок.
...
Рейтинг: 0 / 0
23.11.2007, 02:33:25
    #34959958
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
fandrесли сучего файла нет (find)
разжуй шутку - вместе посмеемся. Если файла нет то find rm-у ничего не передаст и ошибки не будет. Откуда ошибка тогда?

2ALL
похоже на троля?
...
Рейтинг: 0 / 0
23.11.2007, 08:47:41
    #34960091
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
ВопрошательДенис, если вы мне, то я не совсем понял.
Я хотел сказать что ошибку эту выдает не rm. rm по другому ругается.
Засада мне видится вот в * LOG_BASEDIR="/exp/*/LOG", кто ее раскрывает в вашем случае?
...
Рейтинг: 0 / 0
23.11.2007, 10:10:08
    #34960283
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Журавлев Денис кто ее раскрывает в вашем случае?
ммм-м ... хороший вопрос :)

я потрассил (только успешный запуск, без ругани) и там есть:
Код: plaintext
1.
28634/1:        lstat64("/exp/db/LOG/1_1324_633544081.log", 0xFFBFF188) = 0
ну и для все других каталогов тоже. То есть он везде ходит и вроде все файлы видит.

кроме того в том же скрипте:
Код: plaintext
1.
2.
3.
# delete DB audit files older 1 day
cd $ORACLE_HOME/rdbms/audit
find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \;
на него он тоже ругается. А там нет *

Эх была, не была. выложу свое ноу хау целиком :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
#!/bin/sh

. /SCRIPTS/vars/ora_env

LIVE_TIME=7
ARCLOG_LIVE_TIME=2
LOG_LIVE_TIME=180
LOG_BASEDIR="/exp/*/LOG"
ORACLE_HOME="$ORACLE_BASE/product/10.2.0/db_1"

# delete trace files
cd $ORACLE_BASE/admin
find . -depth -name '*.trc' -mtime +$LIVE_TIME -exec rm -f {} \;

# delete core dirs
cd $ORACLE_BASE/admin
find . -depth -name 'core*' -mtime +$LIVE_TIME -exec rmdir {} \;

# delete old *.log
cd $ORACLE_BASE/admin
find . -depth -name '*.log' -mtime +$LOG_LIVE_TIME -exec rm {} \;

# delete network trace files
cd $ORACLE_HOME/network/trace
find . -depth -name '*.trc' -mtime +$LIVE_TIME -exec rm -f {} \;

# delete DB audit files older 1 day
cd $ORACLE_HOME/rdbms/audit
find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \;

# delete old LOG files
truss -o /exp/find`date '+%m%d'`.log -fael find $LOG_BASEDIR -mtime +$ARCLOG_LIV
E_TIME \( -name '*.log' -o -name '*.log.gz' \) -exec rm -f {} \;


Работает он уже с год. Ругань, насколько я помню, была только на последние 2 блока. Трасс это я уже сейчас нацепил.
...
Рейтинг: 0 / 0
23.11.2007, 10:30:13
    #34960354
--null--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Можно немного побредить?
Если проблема плавающая и гугается только пр выполнении по крону - то может быть, дело в каких-то других процессах, которые во время работы cron-овского задания что-то делают с файлами. Или может быть меняется время модификации файлов... Хотя это вряд ли. Или что-то параллельно их удаляет. То, что их нет -не говорит о том, что именно этот скрипт их удалил (проверить можно так: попробовать разок их не удалить, а куда-нибудь переместить, заархивировать).
Может быть, рядом (по времени) в cron-е задания, которые могут влиять на рассматриваемое? Можно поиграться: перенести его по времени на часок-другой, если позволяет ситуация.
Такой поток сознания, в общем :-)
...
Рейтинг: 0 / 0
28.11.2007, 04:31:15
    #34970487
Вопрошатель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
2Scoutt
вот и трасса получилась только там ничего интересного я не увидел :(

имеем:
Код: plaintext
1.
11/24/07 07:05:00: cannot open /exp/bars/LOG/ARC/1_23483_556542949.log.gz: No su
ch file or directory
- я уж стал подумывать что оракл их сам удаляет, но с gz этот фокус не прокатит.

смотрим трассу за тот день:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
665/1:          lstat64("/exp/bars/LOG/ARC/1_23714_556542949.log.gz", 0xFFBFF090
) = 0
665/1:          lstat64("/exp/bars/LOG/ARC/1_23483_556542949.log.gz", 0xFFBFF090
) Err#2 ENOENT
665/1:          fstat64(2, 0xFFBFE250)                          = 0
665/1:          write(2, " c a n n o t   o p e n  ", 12)        = 12
665/1:          write(2, " / e x p / b a r s / L O".., 42)      = 42
665/1:          write(2, " :  ", 2)                             = 2
665/1:          write(2, " N o   s u c h   f i l e".., 25)      = 25
665/1:          write(2, "\n", 1)                               = 1
665/1:          getdents64(4, 0x000294D0, 8192)                 = 3312
665/1:          lstat64("/exp/bars/LOG/ARC/1_23562_556542949.log.gz", 0xFFBFF090
) = 0
- это все упоминания про этот файл

И в самом начале трассы, реально работающая команда:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
665/1:          execve("/usr/bin/find", 0xFFBFFD6C, 0xFFBFFDBC)  argc = 19
665/1:           argv: find /exp/bars/LOG /exp/resy/LOG /exp/resystb/LOG
665/1:            /exp/vb/LOG -mtime +8 ( -name *.log -o -name *.log.gz ) -exec
665/1:            rm -f {} ;
665/1:           envp: HOME=/u01/app/oracle LOGNAME=oracle
665/1:            NLS_DATE_FORMAT=DD-MM-YYYY HH24:MI:SS
665/1:            NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
665/1:            ORACLE_BASE=/u01/app/oracle
665/1:            ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
665/1:            PATH=/bin:/usr/bin: SHELL=/usr/bin/sh TZ=Asia/Vladivostok
665/1:          resolvepath("/usr/bin/find", "/usr/bin/find", 1023) = 13
665/1:          resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
665/1:          stat("/usr/bin/find", 0xFFBFFB40)               = 0
665/1:          open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
665/1:          stat("/usr/lib/libc.so.1", 0xFFBFF660)          = 0
665/1:          open("/usr/lib/libc.so.1", O_RDONLY)            = 3

не густо?
...
Рейтинг: 0 / 0
28.11.2007, 10:58:46
    #34970940
Scott Tiger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
Покажи целиком.
...
Рейтинг: 0 / 0
28.11.2007, 13:03:59
    #34971468
RAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
попробуйте
find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \+
^^^

есть такое подозрение, что расследование в конце концов уткнётся в необходимость достать и посмотреть исходники find'a.
...
Рейтинг: 0 / 0
28.11.2007, 13:05:37
    #34971485
RAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
в смысле

[fix]find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \+
^^^ да и быстрее так будет[/fix]
...
Рейтинг: 0 / 0
28.11.2007, 13:07:33
    #34971495
RAndrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
find, rm - No such file or directory
вот ведь... в конце вместо символа \, символ +

прошу прощения за спам
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / find, rm - No such file or directory / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]