目录备份脚本
备份执行目录到 BACKUP_DIR, 压缩文件名为 目录名+’_'+时间+’_'+随机数.tar.gz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #!/bin/sh PWD=`pwd` ARGC=$# BDIR=$BACKUP_DIR function usage() { echo "usage: <source dir> <backup dir>" } if [ $ARGC != 1 ] && [ $ARGC != 2 ];then usage exit fi if [ $ARGC == 1 ] && [ "$BDIR" == '' ];then usage exit fi if [ $ARGC == 2 ];then BDIR=$2 fi if ! [ -d $BDIR ];then echo "backup dir '$2' is not found" usage exit fi if ! [ -d $1 ];then echo "source dir '$1' is not found" usage exit fi LAST=`echo $BDIR | awk -F/ '{print $(NF)}'` EXT=`date +'%Y%m%d%H%M%S-%s'` NAME=`echo $1 | awk -F/ '{print $(NF)}'` if [ "$NAME" == '' ];then NAME=`echo $1 | awk -F/ '{print $(NF-1)}'` fi if [ "$LAST" == '' ];then FILE="$BDIR$NAME-$EXT.tar.gz" else FILE="$BDIR/$NAME-$EXT.tar.gz" fi cd $1 cd .. tar -cvzf $FILE ./$NAME echo "" echo "backup $1 to $FILE success" |

