#!/usr/bin/bash #备份的目的目录 BACDIR="/home/wxr/backup" #备份的子目录每天备份在一个子目录下 SUBDIR=backup-$(date +%m%d%y) #备份的源目录 DIRS[0]="/home/wxr/workspace" DIRS[1]="/home/wxr/school" DIRS[2]="/home/wxr/themes" DIRS[3]="/home/wxr/scripts" DIRS[4]="/home/wxr/Desktop" #备份的数量 NUMDIRS=${#DIRS[*]} #进入备份目录 if [ ! -d "$BACDIR" ]; then mkdir "$BACDIR" fi cd "$BACDIR" #进入备份子目录如果子目录存在则另加子目录 有时候更改系统时间 if [ -d "$SUBDIR" ]; then I=0 while [ -d "$SUBDIR""_"$I ] do let I=$I+1 done SUBDIR+="_"$I fi mkdir "$SUBDIR" #备份源目录 I=0 while [ $I -lt $NUMDIRS ] do if [ -d "${DIRS[$I]}" ]; then #提取本分源文件夹名称 MAGIC=".190427150621502" echo "${DIRS[$I]}" > $MAGIC NAME="backup"$(sed -e 's/\//-/g' $MAGIC ) rm $MAGIC #压缩备份 tar cjf "$BACDIR/$SUBDIR/$NAME".tar.bz2 "${DIRS[$I]}" echo "Backed up ($[$I+1]/$NUMDIRS) directories." let I=$I+1 done echo "Backups complete, have a nice day!"