***真实维护中,请勿将备份文件存储至/tmp***
默认/etc/crontab文件内容(编辑此文件需要root账户)
1 SHELL=/bin/bash
2 PATH=/sbin:/bin:/usr/sbin:/usr/bin
3 MAILTO=root
4
5 # For details see man 4 crontabs
6
7 # Example of job definition:
8 # .---------------- minute (0 - 59)
9 # | .------------- hour (0 - 23)
10 # | | .---------- day of month (1 - 31)
11 # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
12 # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
13 # | | | | |
14 # * * * * * user-name command to be executed
例1:每周1十点整将/root下所有文件备份至tmp并加上日期
0 10 * * 1 root tar czvf /tmp/root`date +%d`.tar.gz /root/
解析:在语句最开始的五个数字中,依次代表的是“分,时,日、月,周几,此题前五段数字则代表每周一十点0分,tar是归档命令,c-创建一个归档文件,z-用gzip压缩,v-显示过程,f-接归档文件名称,`表示文件名中可以嵌入一个命令(注意:此符号在键盘左上角,键esc下面,不是单引号’)
例2:每周一早上6点半备份本系统中用户为ocean,修改日期小于7天的所有文件至/tmp
30 6 * * 1 root find / -user ocean -and -mtime -7 -exec cp {} /tmp/backup\;
解析:
find <路径> <参数> [表达式]
重要选项:
-name 根据文件名寻找文件
-user 根据文件拥有者寻找文件
-group 根据文件所属组寻找文件
-perm 根据文件权限寻找文件
-size 根据文件大小寻找文件[±Sizek]
-type 根据文件类型寻找文件,常见类型有: f(普通文件) 、c(字符设备文件)、b(块设备文件)、l(连接文件)、d(目录)
-mtime 根据修改时间+-number
-o 表达式或
-and 表达式与
-not 表达式非
-exec 接命令 {}表示find查找出的结果将嵌入这个大括号内,因为-exec将会循环执行,因此需要一个\;来表示命令结束,\表示取消;的特殊含义。
例3:每月10,20,30号备份”备份“文件
0 0 10,20,30 * * root tar czvf /tmp/jw23-4.tar.gz /tmp/backup
解析:可以使用逗号,(英文符号)表示多个时间点,使用"-"表示连续的时间,如1至10号用1-10表示。