linux文件备份脚本

说明

centos几种文件备份方式: 每天备份, 限制数量备份和文件夹备份脚本, 可自行创建 a.txt~d.txt, dirA~dirD测试

## 命令部分说明
crontab -e #添加定时任务
00 02 * * * sh /路径/脚本.sh #分 时 日 月 星期(0-6 0为星期日) 命令
crontab -l #查看任务列表
tail -f /var/log/cron #查看任务日志
dirname $(readlink -f $0) #当前脚本路径
if [[ ! '/test' =~ ^/.* ]] # =~ 正则判断字符串是否以/开始
tar -zcvf a.tar.gz a.txt &>> a.log # &>> a.log相当于 1>>a.log  2>&1,普通日志和错误日志都写到a.log文件

效果
在这里插入图片描述
在这里插入图片描述


每天备份脚本

backupMaxDay.sh

#!/bin/bash
##
## 限量备份文件
##
## 1.最好加上可执行权限。
## chmod 755 backupMaxDay.sh
## 2.将脚本添加到计划任务中
## crontab -e
## ## 每天2.00点备份一次 
## 分 时 日 月 星期(0-6 0为星期日)
## 00 02 * * * sh /脚本路径/backupMaxDay.sh
## crontab -l #查看任务列表; tail -f /var/log/cron #查看任务日志;
##
################################## 配置 #####################################
## 需要备份的绝对路径目录
SourceDir=/test/backup/backupSource
## 备份文件配置 [ "a.txt b.txt d.txt", `ls $SourceDir` ]
BackupItems="a.txt b.txt d.txt"
## 备份至此目录
DestDir=/test/backup/backupDest
## 备份档案文件保留天数
RetainDay=1
## 执行失败直接退出
set -ue

################################## 初始化 ###################################
CurrFileDir=`dirname $(readlink -f $0)`
if [[ ! -d $CurrFileDir/logs ]]; then mkdir $CurrFileDir/logs; fi
LogFile=$CurrFileDir/logs/${0##*/}.`date +"%Y%m"`.log
if [[ ! $SourceDir =~ ^/.* || ! -d $SourceDir ]]; then echo 需要备份的绝对路径目录不存在 >> $LogFile; exit; fi
if [[ -z $BackupItems ]];then echo 未配置需要备份的文件 >> $LogFile; exit; fi
if [ ! -d $DestDir ]; then mkdir -p 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值