51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux备份脚本

Linux文件备份的作用较多,推荐以下几种:

  • 保护文件:备份可以帮助用户保护文件,防止文件被意外删除或损坏。
  • 保证系统安全和应用安全:Linux系统管理人员对系统和业务应用要有一个合理的备份恢复策略,完美的备份策略可以保证业务的0宕机时间和数据的完全恢复。
  • 方便数据恢复:当数据出现问题时,可以通过备份文件快速恢复数据,减少损失。

按保留文件数

#!/bin/bash
#保留文件数
ReservedNum=5
FileDir=/home/dev/saas_test/testcases/report/html
#*.html为文件类型,不写查找所有文件
FileNum=$(ls -l  $FileDir/*.html |grep ^- |wc -l)
`while(( FileNum > ReservedNum))
do
OldFile=$(ls -rt  $FileDir/*.html| head -1)
echo  "Delete File:" $OldFile
rm -f $OldFile
let "FileNum--"
done`

按保留天数

#!/bin/bash
############################
#保留最近N天的备份
############################
#需求
#文件备份格式为date +%F/%H/%M
#节假日不备份
#无论过几个节假日,始终保留最新N天的备份
##############模拟备份
mkdir $(pwd)/test
touch $(pwd)/test/`date -d "1 day ago" +%F-%H-%M`.tar.gz
touch $(pwd)/test/`date -d "2 day ago" +%F-%H-%M`.tar.gz
touch $(pwd)/test/`date -d "3 day ago" +%F-%H-%M`.tar.gz
##############保留最新两天的记录
ls -t $(pwd)/test/* | awk 'NR>2' | xargs rm -rf
#注:ls -t是按照时间排序,加路径主要是为了后面awk过滤出来带路径,绝对路径删除。NR指的是行号。
# ls -t $(pwd)/test/* | awk '{ print NR}' 最新的文件肯定排在前面,保留N天的就删除大于N天的。

删除超过30天的文件

find /home/ -mtime +30 -name *.tar.gz -exec rm -rf {} \;
赞(1)
未经允许不得转载:工具盒子 » Linux备份脚本