Мне снова нужна помощь! Есть скрипт бэкапа, который пишет сразу на ленту!
#!/bin/sh. ~informix/.profile
. /etc/informix_script.cfg
PID="`ps -A|grep ontape`"
if [ -n "$PID" ]; then
echo "ontape уже запущен. Backup не запуcтился." | /usr/bin/mail -s 'Warning! Backup!' $addrs1
exit
fi
tmp=/tmp
back=/var/backup/informix
list=" backup log "
hour=`date +%H`
day=`date +%w`
host=`hostname`
export PASSWD=b1a1c1k3
lev=`echo $1|cut -c1`
# every day backup level 0
if [ "."$lev = "." ]
then
lev="0"
fi
echo Log level $lev
dname=`date +%Y%m%d-%H`
del_list=/tmp/del$dname.txt
cat /dev/null > $del_list
for filname in $list
do
fname=$host.${filname}
find $back -name "${fname}.0*.gz" -mtime +30 >> $del_list
find $back -name "${fname}.1*.gz" -mtime +14 >> $del_list
find $back -name "${fname}.2*.gz" -mtime +7 >> $del_list
# touch $fname
fname=$tmp/${filname}
if [ -f $fname ]
then
rm $fname
fi
# for backup on tape
ln -sf /dev/rmt1.1 $fname
done
for i in `cat $del_list`
do
rm $i
/usr/local/bin/smbclient //mama/backup -U backuper \
-c "cd informix;rm `basename $i`;q"
done
rm $del_list
onmode -c
echo \\nn |ontape -a|head -5
echo "\n" |ontape -s -L $lev|head -5
cd $tmp
rm /tmp/backup
rm /tmp/log
for filname in $list
do
fname=$host.$filname.$lev.$dname
cat $filname | /usr/local/bin/gzip --best > ${fname}.gz
# /usr/local/bin/smbclient //mama/backup -U backuper \
# -c "cd informix;put $fname.gz;q"
if [ $? -eq 0 ]
then
rm $fname.gz
fi
touch $back/$fname.gz
rm $filname
done
А нужно чтобы создавался пайп, в котором все это дело зиповалось, а потом уже записывалось на ленту! (не хватает кассеты для бэкапа 0 уровня) Подскажите как это сделать! Заранее благодарен.