Linux Shell 自动备份脚本
写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份。
参考的网址:http://blog.51cto.com/wgkgood/1330200
直接上脚本如下:
1 ######################################################################### 2 # File Name: back_template.sh 3 # Author: happy 4 # mail: zaqwsx526@163.com 5 # Created Time: Wed 06 Jun 2018 12:17:16 PM CST 6 ######################################################################### 7 #!/bin/bash 8 SOURCE_DIR=( 9 $* 10 ) 11 TARGET_DIR=/backup/data/ 12 YEAR=`date +%Y` 13 MONTH=`date +%m` 14 DAY=`date +%d` 15 WEEK=`date +%u` 16 FILES=system_backup.tgz 17 CODE=$? 18 if [ -z "$*" ];then 19 echo -e "Please Enter Your Backup Files or Directories\n--------------------------------------------\nExample $0 /boot /etc ......" 20 exit 21 fi 22 #Determine Whether the Target Directory Exists 23 if [ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then 24 mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY 25 echo "This $TARGET_DIR is Created Successfully !" 26 fi 27 #EXEC Full_Backup Function Command"" 28 Full_Backup() 29 { 30 if [ "$WEEK" -eq "7" ];then 31 rm -rf $TARGET_DIR/snapshot 32 cd $TARGET_DIR/$YEAR/$MONTH/$DAY 33 tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}` 34 [ "$CODE" == "0" ]&&echo -e "--------------------------------------------\nThese Full_Backup System Files Backup Successfully !" 35 fi 36 } 37 #Perform incremental BACKUP Function Command 38 Add_Backup() 39 { 40 cd $TARGET_DIR/$YEAR/$MONTH/$DAY ; 41 if [ -f $TARGET_DIR/$YEAR/$MONTH/$DAY/$FILES ];then 42 read -p "These $FILES Already Exists, overwrite confirmation yes or no ? : " SURE 43 if [ $SURE == "no" -o $SURE == "n" ];then 44 sleep 1 ;exit 0 45 fi 46 #Add_Backup Files System 47 if [ $WEEK -ne "7" ];then 48 cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $$_$FILES `echo ${SOURCE_DIR[@]}` 49 [ "$CODE" == "0" ]&&echo -e "-----------------------------------------\nThese Add_Backup System Files Backup Successfully !" 50 fi 51 else 52 if [ $WEEK -ne "7" ];then 53 cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}` 54 [ "$CODE" == "0" ]&&echo -e "-------------------------------------------\nThese Add_Backup System Files Backup Successfully !" 55 fi 56 fi 57 } 58 Full_Backup;Add_Backup
==================================================================================
=
黑发不知勤学早,白首方悔读书迟。 --颜真卿《劝学》
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南