Архивация данных в каталоге с подкаталогами

Архивация данных в каталоге с подкаталогами
Пусть нам нужно архивировать какой-то каталог. Причем архивировать
следующим образом: если внутри каталога встречается подкаталог, то
отдельно нужно заархивировать файлы содержащиеся в подкаталоге, а
затем произвести такое же действие для каждого из вложенных каталогов
этого подкаталога.
Это можно сделать следующим скриптом:
#!/bin/sh
DIR_FROM="lib"
DIR_TO="bak"
TAR_COM="nice -+19 tar -cj"
do_archive() {
CURDIR=$1
echo $CURDIR
#Step 1 - taring files from directory
listing=`find $CURDIR/ -maxdepth 1 -type f -printf " %f"`
mkdir $DIR_TO/$CURDIR
$TAR_COM -f $DIR_TO/$CURDIR/content.tar.bz2 -C $CURDIR $listing
#Step 2 - taring subdirectories
for td in `find $CURDIR/ -maxdepth 1 -type d -printf "%f\n"`; do
if [ `echo $td | awk '{print substr($0,1,1)}'` != "." ]; then
do_archive "$CURDIR/$td"
CURDIR=`echo $CURDIR | sed "/\(.*\)\/\(.*\)/s//\1/"`
fi
done
}
rm -rf $DIR_TO/*
do_archive "$DIR_FROM"
Этот скрипт рекурсивно обходит каталоги и архивирует содержащиеся
в них файлы. И создает копию дерева каталогов с зархивированным
содержимым в другом месте.
Kolotov Alexandr пишет:
А для чего это может пригодится?
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.kirovlug
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.kirovlug--unsub@subscribe.ru?subject=comp.soft.linux.kirovlug
http://subscribe.ru/ http://subscribe.ru/feedback