CRON Работа? Вау это у меня над головой
Я понятия не имею, как обрабатывать задания cron, однако я могу объяснить, что я хотел бы, чтобы это делали.... Любой, кто имеет опыт в том, как это сделать, будет очень признателен....
- Удалить старые файлы в каталоге
- Храните не менее 8 новых файлов в каталоге
Является ли это возможным? Я пытался разобраться с документацией по этому вопросу в течение нескольких часов, подумал, что попросил бы сэкономить время, изучая, как обрабатывать эти вещи... мой хост позволяет мне вводить задания cron в бэкэнд панели управления.
Я нашел эту команду
(ls -t|head -n 5;ls)|sort|uniq -u|xargs rm
Однако, похоже, он не знает, из какого каталога я хочу удалить... и я понятия не имею, что он делает...
1 ответ
Как я уже писал в своем комментарии, скрипт, который делает то, что вы хотите, не зависит от cron. Вот возможность сделать то, что вы хотите:
cd /path/to/dir; ls -t | tail -n +9 | xargs rm
объяснение
cd /path/to/dir
: перейти в каталогls -t
: получить список всех файлов в каталоге, отсортированный по дате последнего изменения, сначала самые новыеtail -n +9
: выбрать все строки (в данном случае имена файлов), начиная с 9xargs rm
: удалить файлы, которые были "выбраны" предыдущими командами
При выборе всех строк, начиная с 9-го, 8 новейших файлов никогда не удаляются.
Я предполагаю, что в папке хранятся только файлы, так как rm
команда только удалит тех. Чтобы также удалить папки и все их содержимое, вам придется использовать rm -r
,
Читать подробное описание команды (например, cd
, ls
, tail
, xargs
, rm
) использовать man <command>