教你一招脚本自动备份计划bash(文件脚本备份教你目录)「备份脚本的 sh怎么写」

这是一个非常常见的备份需求,备份一些重要目录并排除某些不必要的目录,将其压缩归档到指定的目录下并仅保留最近的5次备份
一个非常简单的脚本就可以实现这个功能,林哥带着大家一起写脚本
·首先需要指定脚本的解释器,随后通过if判断用于保存归档的目录是否存在,如果不存在则创建这个目录
·接着使用一个for循环来查找指定的文件并删除只保留最近的5个文件
·最后使用tar命令在归档目录下创建备份文件,指定要备份的目录和需要排除的目录即可
整个脚本就这么简单,比较不好理解的部分是for循环如何做到只保留最近5个文件
举个例子:现在目录下有9个文件,通过find命令查找这些文件并降序排列,然后通过tail命令指定从最上面的第5行开始显示到结尾,可以看到打印了一些文件,注意这些文件是要被删除的,所以当这些文件被删除后只剩下4个文件被保留下来,可以看到这4个文件都是最新的
为什么是保留5个文件?因为脚本最后使用tar命令创建了一个文件加上保留的4个文件,总共5个
此外考虑到由于备份通常会有很多文件,在压缩算法的选择上使用XZ算法更好,然后通过exclude选项来指定排除的目录
注意如果有多个目录需要指定多个exclude选项
现在就可以通过crontab计划任务配合来实现周期备份并自动轮转
这里演示每间隔5分钟执行一次备份脚本,可以看到最旧的文件变成16:55,等待5分钟后此处做了剪辑处理,可以看到最旧的文件变成4:00,并且目录下仅保留5个文件
获取脚本可以进入粉丝群,关注我学习实用运维技能
教你一招脚本自动备份计划bash(文件脚本备份教你目录)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息