Linux实现文件定期本地备份/异地备份/删除备份的脚本
作用:expect工具是一个根据脚本与其他交互式程序进行交互安装语句:yum install expectLinux之expect操作详解。
一.背景
1.总会出出现环境上的数据丢失,在没有备份的情况下会非常的被动,不管是由于病毒还是人为的原因造成的程序、数据被删除,有时候后悔已经来不及,不如提前做到数据的备份,而异地备份也更加的保险一点。
2.数据备份的意义就在于,当受到网络攻击、入侵、电源故障或者操作失误等事故的发生后,可以完整、快速、简捷、可靠地恢复原有系统,在一定的范围内保障系统的正常运行。
二.依赖功能介绍
1.expect
作用:expect工具是一个根据脚本与其他交互式程序进行交互
安装语句:yum install expect
参考文档:Linux之expect操作详解
2.cron
作用:可以根据配置文件约定的时间来执行特定的任务
参考文档:
3.liunx的三个时间atime,mtime,ctime
作用:定期删除备份时一般备份文件的mtime来进行删除
参考文档:详解Linux中atime,mtime,ctime的使用场景
三.本地备份脚本
1.本地备份命令测试
1 2 |
|
2.封装shell脚本:compress_backup.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
3.加入crond定时任务并将输出与错误重定向至文件
编辑添加crond定时任务列表
1 |
|
设置每天00:00执行一次备份任务,并将标准输出与标准错误重定向至日志文件
1 |
|
测试查看任务执行情况:
1 |
|
查看备份文件与本地日志正确生成
四.异地备份脚本
1.异地备份命令测试:
1 |
|
提示输入密码后进行备份
查看对端文件备份成功
2.封装expect脚本offsite_backup.expect,当提示输入密码时可自动对应输入密码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
运行后查询结果,已实现了无人值守备份的功能
查看异地文件已生成:
3.加入crond定时任务并将输出与错误重定向至文件
1 |
|
设置每天02:00执行一次异地备份任务,(给本地备份充足的时间预留)并将标准输出与标准错误重定向至日志文件
1 |
|
修改系统时间,重启crond服务等待定时任务的执行,并查询日志:
1 2 3 |
|
检查异地文件备份成功:
五.定期删除备份
1.定期删除命令测试:
1 |
|
2.封装shell脚本delete_expire_backupfile.sh,清理的目录与过期时间可配置
1 2 3 4 5 6 7 8 9 10 |
|
查看文件清理效果如下:
3.加入crond定时任务并将输出与错误重定向至文件
1 |
|
设置每天00:00执行一次异地备份任务,并将标准输出与标准错误重定向至日志文件
1 |
|
修改系统时间,重启crond服务等待定时任务的执行,并查询日志,文件已清理成功
1 2 3 |
|
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)