Видаліть файли, старіші за x днів, з дня їх переміщення у випадкову папку


1

Я запускаю Ubuntu 14.04 як файловий сервер для клієнтів Windows. Клієнти відобразили спільну мережеву папку для роботи. Коли вони видаляють файли з цієї папки, вони переходять у ".recycle". Я хотів видалити файли, старші за x днів. Я використовував команду autotrash:

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 днів, з дня, коли файли переміщуються в якусь папку?

Заздалегідь спасибі.

Відповіді:


0

Ви можете встановити такий сценарій, який потрібно виконувати кожні 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. Якщо ви хочете чогось більш конкретного, перегляньте, як встановити кронштейн .


1
Дякую за сценарій Як завжди, найпростіше рішення найкраще :) Це допомагає мені багато. Thx знову.
Мілан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.