Я запускаю Ubuntu 14.04 как файловый сервер для клиентов окон. Клиенты отобразили сетевую совместно используемую папку для работы с. Когда они удаляют файлы из той папки, файлы переходит к ".recycle". Я хотел удалить файлы, более старые затем x дни. Я использовал команду автомусора:
autotrash -d 30 -T /home/etc/.recycle
но это говорит мне, что .recycle не содержит информационный файл:
Can not find trash information directory. Make sure you have at least GNOME 2.24
Я смотрел на: /home/etc/.recycle/info
Последний Gnome установлен, и результат то же. Я понимаю, что приложение не может считать информацию когда файлы, перемещенные в .recycle. Я могу использовать команду: find /path/to/files* -mtime +5 -exec rm {} \;
но когда файлы перемещаются в .recycle, они сохраняют дату последнего изменения, не дату, когда они перемещаются в папку.
Я могу создать информационный файл? Есть ли какое-либо решение, как я могу удалить файлы, более старые затем x дни со дня когда файлы, перемещенные в некоторую папку?
Заранее спасибо.
Можно установить следующий сценарий, чтобы быть, работал каждые X дни ( использование cron
):
#!/bin/bash
cd /home/etc/recycle_old #Deletes old trash
rm -r ./*
cd /home/etc
mv -r ./recycle ./recycle_old #Moves new trash to "old"-folder
Это работает как это:
1. существует 2 папки, recycle
(который уже дан) для "недавних" удаленных файлов, и recycle_old
для "старых" файлов.
2. Каждые X дни все содержание от recycle_old
удалено и заменено "недавним" содержанием от recycle
, Если Вы хотите удалить файлы, более старые, чем месяц, просто переместите сценарий в /etc/cron.monthly
. Если Вы хотите что-то более определенное, проверяете , как установить cronjob.