云计算运维

Windows Server 2003 - Windows Server 2019 系统工具,Linux系统脚本,Mysql、Nginx、PHP、Redis、K8S、Seafile、Weblogic 、Jenkins、DNS、DHCP、FTP、IIS、Zookeeper、Rabbitmq、Oracle、Tomcat、Mavrn等服务搭建维护,请关注我.

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 {} \;
  • 分享:
评论
还没有评论
    发表评论 说点什么