Итак, я выполняю скрипт перемещения для некоторых файлов старше 1 месяца каждую неделю следующим образом:
#!/bin/bash
echo "Moving Recordings Older than 30 days!";
/bin/find /var/services/homes/recordings/recording_list/ -type f -mtime +30 \
-exec mv '{}' /var/services/homes/recordings/Old/recording_list/ \;
Я хочу, чтобы скрипт создал файл журнала с отметкой и записал, сколько файлов было найдено и переехал, с новым файлом журнала каждую неделю, есть идеи?
Спасибо,
Чтобы получить файл журнала, добавьте опцию -v
к mv
и соберите выходные данные:
find srcdir -type f -mtime +30 -exec mv -v {} destdir \; >output.log
Если вы хотите, чтобы файл журнала содержал дату, и у вас есть последняя версия bash (> = 4.2-alpha), используйте:
find srcdir -type f -mtime +30 -exec mv -v {} destdir \; >"$(printf 'file%(%F)T.log' -1)"
Если у вас нет недавнего bash, используйте вместо этого date
.
Для большей скорости используйте -exec ... +
:
find srcdir -type f -mtime +30 -exec mv -vt destdir {} + >|"$(printf 'file%(%F)T.log' -1)"
Вместо того, чтобы вызывать новый процесс mv
для каждого найденного файла, это перемещает много файлов с одним экземпляр mv
.