LINUX.ORG.RU
ФорумAdmin

Перенос файлов старше определенной даты

 , ,


1

3

Доброго времени суток. Есть папка (/home/user/log_dir), в ней ещё порядка 2х тысяч папок (формата 192.168.1.1). В каждой папке лежат файлы. Каждый день создаются новые файлы. Так вот. Как перенести файлы старше n-дней в другую папку (/home/user/old_log ) c сохранением структуры каталогов?

Дальше команды find 1* -type f -mtime +7 пока не продвинулся. Вывод команды получается примерно такой:

192.168.1.2/21-07-2015-log.log
192.168.1.3/23-07-2015-log.log
192.168.1.3/21-07-2015-log.log
192.168.1.4/23-07-2015-log.log
192.168.1.4/21-07-2015-log.log
192.168.1.5/23-07-2015-log.log

Немного наркомании с tar:

cd ~/log_dir ; find 1* -type f -mtime +7 -print0 | tar -c --null --remove-files -f - -T - | tar -x -C ~/old_log/ -f -
Лучше сперва потести без --remove-files, например.

Lavos ★★★★★ ()
Последнее исправление: Lavos (всего исправлений: 1)
find 1* -type f -mtime +7 -printf "mkdir -p /user/old_log/%h; mv %p /user/old_log/%h \n" | $SHELL
anonymous ()
Ответ на: комментарий от Lavos

Спасибо, это именно то, что нужно. А то с логротейтом намучался, не хочет работать как надо.

zloproxy ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.