Страница 1 из 1

shell-cкрипт для архивирования

Добавлено: 2008-09-22 16:52:53
XaTTa6bl4
Hi all!

Время-от времени приходится архивировать большое кол-во файлов и каталогов. Решил написать sh скрипт. Входным параметром должна быть дата, а скрипт должен обрабатывать все папки и файлы в текущем каталоге, у которых дата изменения меньше введенной. Как это лучше реализовать? :unknown:

Re: shell-cкрипт для архивирования

Добавлено: 2008-09-22 17:18:14
zg
на make, он это дело хорошо умеет

Re: shell-cкрипт для архивирования

Добавлено: 2008-09-23 8:05:49
Alex Keda
XaTTa6bl4 писал(а):Hi all!

Время-от времени приходится архивировать большое кол-во файлов и каталогов. Решил написать sh скрипт. Входным параметром должна быть дата, а скрипт должен обрабатывать все папки и файлы в текущем каталоге, у которых дата изменения меньше введенной. Как это лучше реализовать? :unknown:
find

Re: shell-cкрипт для архивирования

Добавлено: 2008-09-23 13:34:02
XaTTa6bl4
Можно немного поподробнее? У меня еще не много опыта в скриптописании... :cf:

Использовать find с -mtime ? Но в таком случае нужно как-то дату преобразовывать...

Re: shell-cкрипт для архивирования

Добавлено: 2008-09-23 16:48:13
XaTTa6bl4
Усе допер как сделать:)

Код: Выделить всё

date +%s
и тп..:) Завтра допишу скрипт сообщу о результатах:)

Re: shell-cкрипт для архивирования

Добавлено: 2008-09-26 10:20:03
XaTTa6bl4

Код: Выделить всё

#!/bin/sh
#
####
#Скрипт для архивирования старых почтовых ящиков
#Входной параметр - дата в формате yyyymmdd

PATH1=/var/mail/
PATH2=/mnt/3/mail_backup/

mkdir $PATH1.tmp;
cd $PATH1 &&
touch -t $1"0000" .tmp/date.tmp &&
find $PATH1 -maxdepth 1 -mindepth 1 \! -newer .tmp/date.tmp | xargs -I {} mv {} .tmp/ &&
ls .tmp/ | xargs -I {} tar -C .tmp/ -zcvf $PATH2{}.tar.gz {} &&
rm -rf .tmp
Вообщем вот что получилось:)