一段shell 指令碼
/bin/bash
conffile=/usr/local/sbin/cvsback.conf
logfile=/usr/local/sbin/cvsback.log
tmppath=/tmp
srcok=1
today=`date +%Y%m%d`
for item in `cat $conffile |grep -v ^#|sed "/^$/d"`
do
# echo $item
date +%Y%m%d-%H:%M:%S >> $logfile
src=`echo $item|cut -d":" -f1`
desthost=`echo $item|cut -d":" -f2`
destpath=`echo $item|cut -d":" -f3`
#echo $src
#echo $desthost
#echo $destpath
if [ -d $src ]
then
echo "src ok,it is a directory"|/usr/bin/tee -a $logfile
srcok=0
elif [ -f $src ]
then
echo "src ok,it is a file"|/usr/bin/tee -a $logfile
srcok=0
else
echo "$src not exist"|/usr/bin/tee -a $logfile
continue
fi
echo -n "backup $src..."|/usr/bin/tee -a $logfile
bfname=$tmppath/`basename $src`-$today.tgz
#echo $bfname
tar czf $bfname $src >> $logfile 2>> $logfile
if [ $? -eq 0 ]
then
echo "done"|/usr/bin/tee -a $logfile
scp $bfname root@$desthost:$destpath/
if [ $? -eq 0 ]
then
rm -f $bfname
fi
fi
ssh 21.17.98.2 "[ $destpath/`basename $src`-`date -d'7days ago' +%Y%m%d`.tgz ]" > /dev/null 2> /dev/null
if [ $? -eq 0 ]
then
ssh 11.17.98.7 "rm -f $destpath/`basename $src`-`date -d'7days ago' +%Y%m%d`.tgz"
fi
done
conffile=/usr/local/sbin/cvsback.conf
logfile=/usr/local/sbin/cvsback.log
tmppath=/tmp
srcok=1
today=`date +%Y%m%d`
for item in `cat $conffile |grep -v ^#|sed "/^$/d"`
do
# echo $item
date +%Y%m%d-%H:%M:%S >> $logfile
src=`echo $item|cut -d":" -f1`
desthost=`echo $item|cut -d":" -f2`
destpath=`echo $item|cut -d":" -f3`
#echo $src
#echo $desthost
#echo $destpath
if [ -d $src ]
then
echo "src ok,it is a directory"|/usr/bin/tee -a $logfile
srcok=0
elif [ -f $src ]
then
echo "src ok,it is a file"|/usr/bin/tee -a $logfile
srcok=0
else
echo "$src not exist"|/usr/bin/tee -a $logfile
continue
fi
echo -n "backup $src..."|/usr/bin/tee -a $logfile
bfname=$tmppath/`basename $src`-$today.tgz
#echo $bfname
tar czf $bfname $src >> $logfile 2>> $logfile
if [ $? -eq 0 ]
then
echo "done"|/usr/bin/tee -a $logfile
scp $bfname root@$desthost:$destpath/
if [ $? -eq 0 ]
then
rm -f $bfname
fi
fi
ssh 21.17.98.2 "[ $destpath/`basename $src`-`date -d'7days ago' +%Y%m%d`.tgz ]" > /dev/null 2> /dev/null
if [ $? -eq 0 ]
then
ssh 11.17.98.7 "rm -f $destpath/`basename $src`-`date -d'7days ago' +%Y%m%d`.tgz"
fi
done
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-609497/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell指令碼指令碼
- 常用shell指令碼指令碼
- shell指令碼案例指令碼
- Linux Shell指令碼Linux指令碼
- shell指令碼(6)-shell陣列指令碼陣列
- shell指令碼總結指令碼
- shell 指令碼寫法:指令碼
- shell 指令碼加密 | shc指令碼加密
- 執行shell指令碼指令碼
- Shell 指令碼語句指令碼
- 如何加密shell指令碼加密指令碼
- 初識shell指令碼指令碼
- 【指令碼】shell語法指令碼
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- 前端釋出shell指令碼前端指令碼
- shell指令碼之迴圈指令碼
- 【shell】磁碟監控指令碼指令碼
- linux常用的shell指令碼Linux指令碼
- 批次解壓shell指令碼指令碼
- 通用程式部署shell指令碼指令碼
- shell指令碼-免互動指令碼
- Shell指令碼最佳實踐指令碼
- shell指令碼——基本運算子指令碼
- Shell指令碼應用(三)指令碼
- shell指令碼報錯:[: missing `]‘指令碼
- 程式碼上線的shell指令碼指令碼
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- linux shell指令碼中 =~ 的作用Linux指令碼
- 9個實用shell指令碼指令碼
- shell指令碼文字處理工具指令碼
- shell指令碼正規表示式指令碼
- Shell指令碼知識簡述指令碼
- Shell 指令碼避坑指南(一)指令碼
- Linux 【Shell指令碼經典案例】Linux指令碼
- shell指令碼企業巡檢指令碼
- Linux基礎五(shell指令碼)Linux指令碼
- Shell指令碼介紹與使用指令碼
- shell指令碼之if elif寫法指令碼
- shell-----構建基本指令碼指令碼