Автоматическое удаление файлов старше 7 дней

Я - полный нуб в Linux, но я начинаю понимать это. У меня Ubuntu Server 16.04 работает FTP-сервер для резервного копирования видео файлов безопасности. Файлы будут храниться в таких папках, как: /home/securityfolder1, /home/securityfolder2, /home/securityfolder3 и т. Д.

Обратите внимание, что каждый securityfolderN является отдельным пользователем.

Поскольку я не хочу, чтобы мои жесткие диски были заполнены постоянно, я хочу ежедневно удалять файлы из этих папок старше 7 дней.

17
задан 21 June 2016 в 11:22

2 ответа

Во-первых, эта команда найдет и удалит все файлы, более старые, чем 7 дней в любом подкаталоге в /home чье имя запускается с securityuser:

find /home/securityuser* -mtime +6 -type f -delete

Вам нужно -mtime +6 и нет +7 потому что -mtime считает 24-е периоды. Как объяснено в -atime раздел man find (-mtime работы таким же образом):

   -atime n
          File  was  last  accessed n*24 hours ago.  When find figures out
          how many 24-hour periods ago the file  was  last  accessed,  any
          fractional part is ignored, so to match -atime +1, a file has to
          have been accessed at least two days ago.

Так, для нахождения файла, который был изменен 7 или больше дней назад необходимо найти файлы, которые были изменены больше чем 6 дней назад, следовательно -mtime +6.

Следующий шаг должен иметь эту команду, выполненную один раз в день. Начиная с каждого securityuserN другой пользователь (Вы могли бы хотеть заново продумать ту установку, она делает все более сложным), это должно быть выполнено как корень. Так, редактирование /etc/crontab:

sudo nano /etc/crontab

И добавьте эту строку:

@daily root find /home/securityuser* -mtime +6 -type f -delete

Это будет работать find управляйте один раз в день и удалите файлы.

25
ответ дан 21 June 2016 в 21:22

согласно мне мое знание:

попытка find команда как это:

find ./dirc/* -mtime +6 -type f -delete

./dirc/* : is your directory (Path)
-mtime +6 : modified more than 6 days ago (therefore, at least 7 days ago)
-type f : only files
-delete : no surprise. Remove it to test before like rm
4
ответ дан 21 June 2016 в 21:22
  • 1
    @r03: Ради полноты: " Вход в систему Screen" кнопка, показал, только если у Вас есть больше чем одни учетные записи пользователей в системе. Сравните этот ответ . – Gunnar Hjalmarsson 14 November 2017 в 00:39

Другие вопросы по тегам:

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