保留最新N份备份目录脚本
如下所示,在/opt/backup下是备份目录,只需要保留最新的三份备份,在此之前的备份目录都要删除。
[root@syslog-ng ~]# cd /opt/backup/
[root@syslog-ng backup]# ls -l
total 68
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180626
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180627
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180628
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180629
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180630
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180631
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180701
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180702
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180703
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180704
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180705
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180706
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180707
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180708
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180709
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180710
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180711 [root@syslog-ng backup]# /bin/ls -l |grep "^d"
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180626
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180627
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180628
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180629
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180630
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180631
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180701
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180702
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180703
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180704
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180705
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180706
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180707
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180708
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180709
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180710
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180711 [root@syslog-ng backup]# /bin/ls -l |grep "^d"|awk '{print $9}'
20180626
20180627
20180628
20180629
20180630
20180631
20180701
20180702
20180703
20180704
20180705
20180706
20180707
20180708
20180709
20180710
20180711 [root@syslog-ng backup]# /bin/ls -l |grep "^d"|awk '{print $9}'|wc -l
17
[root@syslog-ng backup]# /usr/bin/expr 17 - 3
14
处理脚本如下
[root@syslog-ng backup]# cat /opt/del.sh
#!/bin/bash
cd /opt/backup
NUM1=$(/bin/ls -l |grep "^d"|awk '{print $9}'|wc -l)
NUM2=$(/usr/bin/expr $NUM1 - 3)
/bin/ls -l |grep "^d"|awk '{print $9}'|/bin/sed -n "1,$NUM2 p"|xargs rm -rf
授予脚本执行权限
[root@syslog-ng backup]# chmod 755 /opt/del.sh
执行脚本
[root@syslog-ng backup]# sh /opt/del.sh
执行脚本后,发现保留下来的备份目录就行最新的三份了
[root@syslog-ng backup]# ll
total 12
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180709
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180710
drwxr-xr-x. 2 root root 4096 Jul 11 14:48 20180711
保留最新N份备份目录脚本的更多相关文章
- 使用命令行备份指定文件夹并保留最新N份
客户需要对网站进行定期备份,并保留最近30天的文件,编写后以下脚本,通过Windows的任务计划进行调度 对比手工和任务计划调度运行情况来看,手工运行中可直接调用RAR.exe和网络进行传输,但是任务 ...
- Linux Shell脚本,删除旧文件,保留最新的几个文件
删除某一目录下文件,只保留最新的几个 #!/bin/bash #保留文件数 ReservedNum= FileDir=/home/dev/saas_test/testcases/report/html ...
- Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
说明: 1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...
- windows server 定期备份数据库脚本
将以下文件保存为.bat脚本,在计划任务中添加定时任务运行此脚本即可.脚本中的备份目录,数据库目录和压缩文件目录请自行修改. @echo off rem 当前路径切换到备份数据库目录 cd D:\wa ...
- 完整和增量备份MySQL脚本
本文档采用mysqldump 对数据库进行备份,mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法 ...
- Mongodb之备份恢复脚本
本分脚本: !/bin/bash #备份文件执行路径 which mongodump DUMP= #临时备份目录 OUT_DIR= #本分存放目录 TAR_DIR= #获取当前系统时间==> 2 ...
- mysql通过mysqldump实现备份,脚本编写
每日三点同步mysql备份任务 crontab -e 0 3 * * * sh /home/shell/mysql_bakup.sh >> /dev/null 2>&1 my ...
- Centos 8 上定时备份Gitlab ,脚本实现定时备份,备份恢复
定时备份 要求 为了能够备份和恢复,请确保你的系统上安装了Rsync yum install rsync -y 配置备份目标机器免密认证 执行ssh-keygen -t rsa 生成私钥和公钥 ssh ...
- Rehat一键安装mysql脚本和备份数据库脚本
Rehat一键安装mysql脚本 ##说明:适用,Rehat 5 6 7 1.运行状态,运行成功输出mysql临时密码 2.代码如下 #!/bin/bash #获取系统信息 sudo cat /etc ...
随机推荐
- macOS 下NFS 文件系统挂载
主要有两种方式: 使用:resvport选项, mount 挂载命令时. 使用:insecure选项, exportfs 文件配置时. sudo mount -o resvport IP:Addr b ...
- RD340服务器安装windows2003系统
RD340服务器安装windows2003系统云修网
- ClickHouse之Distributed Query Execution
原文地址:https://clickhouse.yandex/docs/en/development/architecture/ 集群中的所有节点都是彼此独立的,当你在集群中的一个节点或者多个节点创建 ...
- Android集成讯飞语音、百度语音、阿里语音识别
项目实践:https://blog.csdn.net/Jsagacity/article/details/80094164 demo下载地址:https://fir.im/jy28 demo源码:ht ...
- Qt 编程指南 2 Hello Designer
2 Hello Designer ①编辑窗口部件:为窗口拖拽控件(即部件),编辑控件布局等. ②编辑信号/槽:用户在图形界面的一些动作会触发窗口或控件的信号,信号对应的处理函数就是槽函数,这种模式实 ...
- k8s访问服务时,解析不了域名
1)访问 http://eureka-server-0.eureka-server:8101/eureka 出现UnknowHostExecption异常 2)问题定位kube-dns问题 3)doc ...
- 【Codeforces 696D】Legen...
Codeforces 696 D 题意:给\(n\)个串,每个串有一个权值\(a_i\),现在要构造一个长度为\(l\leq 10^{14}\)的串,如果其中包含了第\(i\)个串,则会得到\(a_i ...
- MySQL(一)MySQL基础介绍
最近的学习内容是数据库相关的一些知识,主要以MySQL为主,参考书籍——<MySQL必知必会> MySQL学习及下载地址:https://dev.mysql.com/ MySQL学习使用注 ...
- Sublime Text 3 Build 3143 可用License
—– BEGIN LICENSE —–TwitterInc200 User LicenseEA7E-8900071D77F72E 390CDD93 4DCBA022 FAF6079061AA12C0 ...
- 3.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——less即more
Unix提供了两个工具查看不止文件的头部和尾部.这个功能程序叫做more,但有种更强大的变异体叫做less(起初我认为这是玩笑).less这个程序是交互性地,所以很难在输出时捕获,但是仍然为大家提供了 ...