1.创建A文件夹路径,比如/home/project/
创建B目的地路径,/home/.snapshot/1hour/
2.创建backup_1h.sh脚本文件,权限为可执行,内容如下:
#
!/bin/bash
#
destination
mypath='/home/.snapshot/1hour/'
# response
/home/.snapshot/1hour/
echo ${mypath}
#original
file path
myproject='/home/project/'
# response
/home/project/
echo ${myproject}
#time/not
used in this case.
time=`date +%Y-%m-%d_%H:%M:%S` #注意,date后有空格,这里 '
符号是~那个键上的符号,不是单引号。
#time
echo ${time}
#remove old
file
rm -rf /home/.snapshot/1hour/星号 #请用*号替代,*好像不能在斜杠后边
# copy file
to backup
cp -rp ${myproject}
${mypath}/project_$time #给新备份的目录加上日期,方便分辨。
#
response
echo ${mypath}
${mypath}
3.查看是否安装了crontab。
命令如下:rpm
-qa | grep crontab 。如果未出现版本信息。
则需自行安装,crontab安装包在系统光盘里面的pacekage文件夹crontabs安装包。
4.编辑crontab文件
gedit /var/spool/cron/root
,(这里root是用户,也可以指定其他users)新建内容如下:
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 -
23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr
...
# | | | | .---- day of week (0 - 6)
(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be
executed(* * 之间有空格。可以用*/表示每。)
#以下为加入的内容,上边是说明。
*/15 * * * * root
/opt/backup_1f.sh #每15分钟更新一次,(*/1
占第1个*号位置,如上,此处是分)
* */1 * * * root
/opt/backup_1h.sh #每一小时更新一次,(*/1
占第2个*号位置,如上,此处是时)
* * */1 * * root
/opt/backup_1d.sh #每一天更新一次,(*/1
占第3个*号位置,如上,此处是天)
* * * */1 * root
/opt/backup_1m.sh #每一月更新一次,(*/1
占第4个*号位置,如上,此处是月)
* * * * */1 root
/opt/backup_1w.sh #每一周更新一次,(*/1
占第5个*号位置,如上,此处是周)
也可以设置“非/”结构:
0 * * * * root /opt/backup_1f.sh #每小时0分时执行一次
25 8 * * * root /opt/backup_1h.sh #每天8点25分时,执行一次(周期为1天)
15 8 1 1 * root
/opt/backup_1d.sh #1月1号早上8点15分,执行一次。(周期为1年)
0 6 * * 6 root /opt/backup_1m.sh #每周六早上6点执行一次,(周期为一星期)
30 23 28 * * root
/opt/backup_1w.sh #每月28号23点半执行一次,(周期为一个月)
15 9-18/3 * * * root
/opt/backup_3h.sh #每天9:15-18:15,每3小时,执行一次(周期为1天的3小时)
0-59/15
* * * * root
/opt/backup_15f.sh #每15分钟备份一次
0 23 20 1-12/3
* root /opt/backup_3m.sh #每3个月的20号23点备份一次
5.crond服务常用命令
/etc/init.d/crond start
/etc/init.d/crond stop
/etc/init.d/crond restart 或者 service crond
restart
/etc/init.d/crond reload
6.crontab -l 列出当前用户定时任务。
crontab
-r 删除当前用户定时任务
7.设置crond开机启动
chkconfig --list
crond ,将3-5都设置成on
chkconfig
--level 35 crond on
再次chkconfig
--list crond
注:755权限要保证。