Linux系统下本机数据的自动备份

2016-10-10 00:00:00嘉辉 Linux认证

  我们可以手工备份数据,但是每天定时做这些操作可能比较繁琐。当然,Linux为我们提供了强大的工具来进行自动备份。这就是cron。

  cron是一个后台进程,一旦启动,将根据自己的配置文件定时地执行任务。我们可以编写一个shell脚本文件来进行文件备份,然后让cron定时地启动这个脚本文件来对数据进行备份。

  例如,我们每天备份/home/html目录下的所有的文件到/home/admin/backup/backup_xxxx目录下,xxxx代表备份的日期。这个工作,可以编写一个如下的shell脚本backup.sh来进行:

  #!/bin/sh

  cd /home/admin/backup

  year=`date +%Y`

  month=`date +%m`

  day=`date +%d`

  now=$year-$month-$day

  mkdir backup_$now

  tar zcvf backup_$now/backup.tar.gz /home/html

  这个脚本在备份数据的时候,自动读取系统日期,然后以系统当前的日期建立一个新的目录,将备份的数据打包压缩放在这个目录中。我们可以在系统中通过执行:$sh backup.sh ,完成备份工作。如果键入:$chmod +x backup.sh ,可以将backup.sh设置为可运行。这样,我们就可以直接通过键入$./backup.sh来运行备份脚本文件了。一般情况下,我们希望在系统负载不是最大的时候来进行数据备份。通常,我们可以选择每天的凌晨3:00来进行数据备份(这段时间,你的服务器访问的人数应该最少吧?)。把一切工作交给 cron吧。 cron启动以后,它检查/var/spool/cron/目录中的配置文件来找到所要执行的任务和执行任务的时间,依据这些设定在规定的时间执行规定的任务。

  这个任务配置文件可以由crontab -e 命令来编辑。

  其格式为每行代表一个任务和规定的执行时间。

  每行由6个域组成:

  分钟小时每月的天月星期命令

  上述6个域之间用空格或Tab分开,其中:

  分钟:分钟域,值的范围是0到59

  小时:小时域,值的范围是0到23

  每月的天:日期,值的范围是1到31

  月份:月份,值的范围是1到12

  星期:星期,值的范围是0到6,星期日值为0 命令。

  所要运行的命令特别的,如果一个域是‘*’,表明命令可以在该域所有可能的取值范围内执行。如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括起止两个数字本身)。如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。现在,我们编写一个文件,用以在每天的凌晨3:00启动备份shell程序。

  键入:crontab -e 命令,

  然后输入: 0 3 * * * backup.sh 输入完成后,存盘退出。

  键入crontab -l 来检查刚才的输入是否正确。好了,这样只要Linux服务器不关机,每天凌晨3:00cron都会自动启动backup.sh脚本来对数据进行备份的。你就可以高枕无忧了。

[Linux认证]相关推荐

[Linux认证]相关栏目推荐
查看更多
上一篇:返回列表 下一篇:Linux数据库MySQL内部临时表策略