linux7按时间备份shell,shell根据日期实现完全备和增量备份文件

#!/bin/bash

#Auto Backup linux system Files

SOURCE_DIR=(

$*

)

TARGET_DIR=/data/backup/

YEAR=`date +%Y`

MONTH=`date +%m`

DAY=`date +%d`

WEEK=`date +%u`

A_NAME=`date +%H%M`

FILES=system_backup.tgz

CODE=$?

if

[ -z "$*" ];then

echo -e "\033[32mUsage:\nPlease Enter Your Backup Files or Directories\n-----------------------------\n\nUsage: { $0 /boot /etc}\033[0m"

exit

fi

#Determine whether the Target Directory exists

if

[ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then

mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY

echo -e "\033[32mThe $TARGET_DIR Created Successfully !\033[0m"

fi

#EXEC Full_Backuo Function Command

Full_Backup()

{

if

[ "$WEEK" -eq "7" ];then  //判断日期为周日

rm -rf $TARGET_DIR/zzxtbl

cd $TARGET_DIR/$YEAR/$MONTH/$DAY;tar -g $TARGET_DIR/zzxtbl -czvf $FILES ${SOURCE_DIR[@]}

[ "$CODE" == "0" ]&&echo -e "--------------------------\n\033[32mthess Full_Backup System Files Backuo Successfully !\033[0m"

fi

}

#PERform incremental BACKUP function Commad

Add_Backup()

{

if

[ $WEEK -ne "7" ];then

cd $TARGET_DIR/$YEAR/$MONTH/$DAY;tar -g $TARGET_DIR/zzxtbl -czvf $A_NAME$FILES ${SOURCE_DIR[@]}

[ "$CODE" == "0" ]&&echo -e "--------------------------\n\033[32mthes Add_Backup systemFile $TARGET_DIR/$YEAR/$MONTH/$DAY/${YEAR}_$A_NAME$FILES Backup Successfully !\033[0m"

fi

}

sleep 3

Full_Backup;Add_Backup

显示效果

周一到周六 增量备份

91002ae54dd66ccd00a4846c90f3d31b.png

周七 全量备份

61fdfa5cc2672bfde7d2288833355065.png

6a960eff46418f9e05715efe9c12fd41.png

要把脚本优化到最佳效果,可以加上邮件通知等功能;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值