增量备份系统文件的shell脚本,增量备份shell脚本
增量备份系统文件的shell脚本,增量备份shell脚本
今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份。直接上脚本如下:
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
56
57
58
59
60
#!/bin/sh
#Automatic Backup Linux System Files
#Author wugk2013-11-22
#Define Variable
SOURCE_DIR=(
$*
)
TARGET_DIR=/data/backup/
YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`
WEEK=`date +%u`
FILES=system_backup.tgz
CODE=$?
if
[ -z"$*"];then
echo -e"Please Enter Your Backup Files or Directoriesn--------------------------------------------nExample $0 /boot /etc ......"
exit
fi
#Determine Whether the Target Directory Exists
if
[ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then
mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY
echo"This $TARGET_DIR is Created Successfully !"
fi
#EXEC Full_Backup Function Command
Full_Backup()
{
if
["$WEEK"-eq"7"];then
rm -rf $TARGET_DIR/snapshot
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`
["$CODE"=="0"]&&echo -e"--------------------------------------------nThese Full_Backup System Files Backup Successfully !"
fi
}
#Perform incremental BACKUP Function Command
Add_Backup()
{
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;
if
[ -f $TARGET_DIR/$YEAR/$MONTH/$DAY/$FILES ];then
read -p"These $FILES Already Exists, overwrite confirmation yes or no ? : "SURE
if[ $SURE =="no"-o $SURE =="n"];then
sleep1;exit0
fi
#Add_Backup Files System
if
[ $WEEK -ne"7"];then
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $$_$FILES `echo ${SOURCE_DIR[@]}`
["$CODE"=="0"]&&echo -e"-----------------------------------------nThese Add_Backup System Files Backup Successfully !"
fi
else
if
[ $WEEK -ne"7"];then
cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`
["$CODE"=="0"]&&echo -e"-------------------------------------------nThese Add_Backup System Files Backup Successfully !"
fi
fi
}
Full_Backup;Add_Backup
评论暂时关闭