powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / find, rm - No such file or directory
25 сообщений из 34, страница 1 из 2
find, rm - No such file or directory
    #34946526
Вопрошатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
find, rm - No such file or directory
    #34947059
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мочи его truss-ом.

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

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

файл в студию

Если * - маска, то как можно сделать cd туда?
...
Рейтинг: 0 / 0
find, rm - No such file or directory
    #34947810
Вопрошатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
find, rm - No such file or directory
    #34947951
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видно truss не в PATH просто.

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

--null--можно ещё поставить пока заместо rm строчку -exec echo {} \;
и посмотреть, с какими именно файлами оно пытается работать.
эти файлы у меня и так есть в логе ошибок, но он их удаляет (хоть и с руганью). и даже если он (после замены) поругается и не удалит - что мне с ними делать. Наверняка с файлами все в порядке.
...
Рейтинг: 0 / 0
find, rm - No such file or directory
    #34948039
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрошатель 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
find, rm - No such file or directory
    #34951234
fandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scott Tigertruss -o output_file_name -fael "your command"

файл в студию

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


легко :)

# cd /e*
# pwd
/etc



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

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

# cd /e*
# pwd
/etc


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

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


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

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

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


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

если сучего файла нет (find), то и удалять нечего (rm), естественно что утром ничего не видно...
или я чего-то не понимаю?...
...
Рейтинг: 0 / 0
find, rm - No such file or directory
    #34957706
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
# 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
find, rm - No such file or directory
    #34959957
Вопрошатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денис, если вы мне, то я не совсем понял.

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

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

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

я потрассил (только успешный запуск, без ругани) и там есть:
Код: 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
find, rm - No such file or directory
    #34960354
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно немного побредить?
Если проблема плавающая и гугается только пр выполнении по крону - то может быть, дело в каких-то других процессах, которые во время работы cron-овского задания что-то делают с файлами. Или может быть меняется время модификации файлов... Хотя это вряд ли. Или что-то параллельно их удаляет. То, что их нет -не говорит о том, что именно этот скрипт их удалил (проверить можно так: попробовать разок их не удалить, а куда-нибудь переместить, заархивировать).
Может быть, рядом (по времени) в cron-е задания, которые могут влиять на рассматриваемое? Можно поиграться: перенести его по времени на часок-другой, если позволяет ситуация.
Такой поток сознания, в общем :-)
...
Рейтинг: 0 / 0
find, rm - No such file or directory
    #34970487
Вопрошатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
find, rm - No such file or directory
    #34970940
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи целиком.
...
Рейтинг: 0 / 0
find, rm - No such file or directory
    #34971468
RAndrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте
find . -depth -name '*.aud' -mtime +1 -exec rm -f {} \+
^^^

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

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

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


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