После долгого поиска, метода проб и ошибок, я создал сценарий
#!/bin/bash
find /home/SHARE/temp/* -mtime +10 -exec rm {} \;
При создании это выполнялось и удалило все файлы, более старые, чем 10 дней, но оставило папки, в которых лежали эти файлы.
Я записал его в кроне, и теперь я вижу, что это ничего не делает.
Возможно, я записал это неправильно в кроне, но когда я пытаюсь выполнить его вручную, я добираюсь:
rm query: remove write-protected regular file
и просит подтверждать удаление и после этого говорит
Permission denied
Как сделать это не, только файлы, но также и папки удалены?
Как автоматически запустить скрипт с правами sudo?
Спасибо за помощь
Для удаления пустых каталогов ниже, но не включая использование/home/SHARE/temp
find /home/SHARE/temp -depth -mindepth 1 -type d -empty -exec rmdir {} \;
Для удаления только файлов в исходной команде включают -type f
таким образом
find /home/SHARE/temp -type f -mtime +10 -exec rm {} \;
При использовании этих команд от замены крона \;
с \\;
я полагаю, что необходимо вызвать, удаляют файл, поскольку файл только для чтения modifiying строка:
find /home/SHARE/temp/* -mtime +10 -exec rm {} \;
к
find /home/SHARE/temp/* -mtime +10 -exec "rm -f" {} \;
В дополнение к этому Вы любили бы выполнять сценарий с помощью пользователя root.