查看: 6777|回复: 0
打印 上一主题 下一主题

使用tar和cron定期备份数据

[复制链接]
跳转到指定楼层
1#
发表于 2008-10-19 17:28:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
有一次很不小心地删除了一个/etc/下的系统配置文件,很是吓了一跳!我是不太习惯在bashrc中设置alias rm=’rm -i’的,因为那样删除的东西多的时候会很烦人。虽然rm删除文件只是删除一个入口,文件仍然处于磁盘上,在被其他数据覆盖之前是可以找回来的,但是俗话说“防患于未燃”,不是更好吗?

其实我也是很少有备份的习惯的,过去也有过删错东西的时候,也不知道怎么的这次就想起来了,其实过去自己总结学习RHCE还是挺有用的,自己总结过的东西毕竟印象深得多。现在要用了,觉得很自然地想到了cron进行周期性地备份。

虽然Linux上也有一些很庞大很复杂的备份程序,不过感觉上,tar+cron对我来说已经很足够了。有人说Unix能力就是组合使用工具的能力,感觉不无道理的,在Unix的世界里,数不清的小工具,随你信手去用,只有你想不到的,没有你做不到的。

以下的脚本基于GNU 的tar和cron,使用差异备份(differential backup)的方法备份/etc/中的所有数据。每周日一次完整备份,完整备份前会删除目录中的所有备份以节约空间;每周其余各天实行差异备份,被刺差异备份前会删除前次差异备份。

这个脚本自然是可以继续更加完善的,比如留出之前的N个备份,每一次完整备份和基于它的差异备份分别放在各个文件夹中等,但这里没有这么做了。注释中有部分英文,也就是因为但是用了英文而已。用了大量的变量,只是为了修改起来方便,比如要备份的位置,备份时间,文件名等等,使用变量存储就是为了如果需要修改的话,不会牵扯到脚本主体。

要使用它,可以将这个脚本放在任意位置,然后在crontab中引用它。注意,必须以root权限运行脚本,因为待备份的目录中可能出现需要root权限才能查看的文件。例如,我将这个脚本命令为backup.sh,放在~/bin/中,所以我可以在crontab中添加如下内容:

20 13 * * * root /home/kimia/bin/backup.sh
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表