Удаляя файлы старше определенного дня и исключая прямые файлы в папке

Вы правы, а статья в Википедии неверна. См. Пример ниже:

$ ls -l /usr/bin/passwd 
-rwsr-xr-x. 1 root root 30768 Feb 22  2012 /usr/bin/passwd
$ sudo cp /usr/bin/passwd /tmp/
$ cd /tmp
$ ls -l passwd
-rwxr-xr-x 1 root root 30768 Dec 21 07:43 passwd
$ sudo chmod 4700 passwd
$ ls -l passwd
-rws------ 1 root root 30768 Dec 21 07:43 passwd
$ ./passwd
bash: ./passwd: Permission denied
$ sudo chmod 4701 passwd
$ ./passwd 
Changing password for user vagrant.
Changing password for vagrant.
(current) UNIX password: 
$ 
0
13.09.2018, 17:38
2 ответа

все, что вам нужно сделать, это добавить глобальную опцию -mindepth, подобную этой:

$ find /var/log/airflow/ -mindepth 2 -type f -mtime +10  -delete
3
28.01.2020, 02:23

Чтобы указать findискать только во вложенных папках /var/log/airflow, просто укажите эти начальные точки:

shopt -s dotglob
find  /var/log/airflow/*/* -type f -mtime +10 -delete

Это заставляет подкаталог существовать в /var/log/airflow для соответствия. Я установил dotglobтак, чтобы любые «скрытые» каталоги под воздушным потоком также совпадали.

0
28.01.2020, 02:23

Теги

Похожие вопросы