есть куча лог файлов
как заархивировать их по месяцам создания
чтобы получить архив aug.tar.gz, sep.tar.gz и.т.д........
>есть куча лог файлов
>как заархивировать их по месяцам создания
>чтобы получить архив aug.tar.gz, sep.tar.gz и.т.д........Написать скрипт на shell/perl, ИМХО. Или ручками. :)
>есть куча лог файлов
>как заархивировать их по месяцам создания
>чтобы получить архив aug.tar.gz, sep.tar.gz и.т.д........man find
man tar
>>есть куча лог файлов
>>как заархивировать их по месяцам создания
>>чтобы получить архив aug.tar.gz, sep.tar.gz и.т.д........
>
>man find
>man tar
А еще лучше- man logorotate
>>>есть куча лог файлов
>>>как заархивировать их по месяцам создания
>>>чтобы получить архив aug.tar.gz, sep.tar.gz и.т.д........
>>
>>man find
>>man tar
>А еще лучше- man logorotate
#!/bin/sh#$1 - путь, где файлы, которые надо затарить
#$2 - путь+префикс, куда класть архив
#например: /mnt/bak/file_
#тогда получится что-то типа: /mnt/bak/file_200405, /mnt/bak/file_200406...
#можно, конечно, еще добавить что-нибудь, например, проверку аргументовtmp_f=`mktemp -t XXXXXXXXXX || exit 1`
lst_f=`mktemp -t XXXXXXXXXX || exit 1`find $1 -type f -printf "%AY%Am\t%p\n" > $tmp_f
for i in `cut -f1 $tmp_f | sort | uniq`
do
grep "^$i .*" $tmp_f | cut -f2 > $lst_f
tar -czf $2_$i.tgz --files-from=$lst_f
donerm -f $tmp_f $lst_f
sorry
>find $1 -type f -printf "%AY%Am\t%p\n" > $tmp_f
%A - last access time
find $1 -type f -printf "%TY%Tm\t%p\n" > $tmp_f
%T - last modification time