Linux定时备份

来自MediaWiki
Admin留言 | 贡献2023年6月29日 (四) 03:20的版本
跳转到导航 跳转到搜索
#!/bin/bash

#参数设定

basedir=/www/backup               #备份存放的目录

days=5                           #备份在本地保留天数

bakfiles="/www/docker"      #需要备份的目录或文件,请不要使用快捷方式或通配符

echo =====================================================

date

cd $basedir

#删除备份目录中15天以前备份文件,不包含子目录

find -maxdepth 1 -name "*.tgz" -mtime +"$days" -exec rm -f {} \;

for bakfile in $bakfiles

do

file=`basename $bakfile`

#压缩打包需要备份的目录,包括权限,文件命名包含当前时间

tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile

#大文件打包前后,缓解磁盘压力,降低I/O错误概率

sleep 10s ;sync;sync

done