linux下用crontab实现定时备份

linux下用crontab实现定时备份

近来需要对cvs下的所有源代码进行定时备份,简单的总结了一下方法:

1. 以root身份登陆,创建脚本文件

例如我想对目录/home/software/Temp下的所有文件进行备份,备份文件存放在/home/software下,

先在/home/software目录下创建一个备份时要执行的脚本,将它命名为backup.sh:

$vim backup.sh

# Shell Content

YMD=`date +%Y%m%d`

BACKNAME=Temp-bak-$YMD.tar.gz

cd /home/software

tar czvf $BACKNAME ./Temp

#Setting the backup file permission to make it accessible to user software

chown software:software $BACKNAME     


2.  修改脚本文件(backup.sh)的读写权限。(这一步可不能忽略哦)

    $ chmod 700 backup.sh

    $ chown software backup.sh

3. 定时执行配置文件

  $ crontab -e

此命令的执行结果是编辑一个定时执行配置文件,输入下面一行:

30 20 * * * /home/software/backup.sh

这一句话的意思是:每天晚上8点30分,执行这个备份脚本,存盘退出。

4. 补充

crontab的基本用法:

      1. crontab –l
列出当前的crontab任务
2. crontab –d
删除当前的crontab任务
3. crontab -e
编辑一个crontab任务,ctrl_D结束
4. crontab filename
以filename做为crontab的任务列表文件并载入

crontab file的格式: * * * * * cmd
crontab 文件中的行由 6 个字段组成,不同字段间用空格或 tab 键分隔。前 5 个字段指定命令要运行的时间
分钟 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
星期几(0-6,其中 0 代表星期日)
第 6 个字段是一个要在适当时间执行的字符串

好了,到此为止,您就可以使linux每天晚上8点30分,自动将/home/software/Temp下的所有文件备份到/home/software下了,还不快试试。
不错