为当前用户创建cron服务
1. 键入 crontab -e 编辑crontab服务文件,例如内容如下:
*/2 * * * * /bin/bash /home/admin/deleteFile.sh
保存并退出。
2. 查看该用户下的crontab服务是否创建成功, 使用命令:
crontab -l
3. 启动 crontab 服务,不同版本linux系统启动服务的命令可能不同
sudo service crond start (或)
service cron start
4. 查看服务是否已经运行用
ps -ax | grep cron
5. crontab命令参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说 root 查看自己的 cron 设置: crontab -u root -l
再例如 root 想删除 fred 的 cron 设置:crontab -u fred -r
6. cron文件语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command
(以上为取值范围,星期栏 0 表示周日,一般一行对应一个任务)
几个特殊符号的含义:
“ * ” 代表取值范围内的数字,
“ / ” 代表”每”,
“ - ” 代表从某个数字到某个数字,
“ , ” 分开几个离散的数字
使用特殊字符串来节省时间
使用以下 8 个特殊字符串中的其中一个替代头五个字段,这样不但可以节省你的时间,还可以提高可读性。
特殊字符 含义
@reboot 在每次启动时运行一次
@yearly 每年运行一次,等同于 “ 0 0 1 1 * ”
@annually (同 @yearly)
@monthly 每月运行一次, 等同于 “ 0 0 1 * * ”
@weekly 每周运行一次, 等同于 “ 0 0 * * 0 ”
@daily 每天运行一次, 等同于 “ 0 0 * * * ”
@midnight (同 @daily)
@hourly 每小时运行一次, 等同于 “ 0 * * * * ”
如:每小时运行一次 ntpdate 命令
@hourly /path/to/ntpdate
7. 任务调度执行结果的转向
如:每天 5:30 执行 ls 命令,并把结果输出到 /jp/test 文件中
30 5 * * * ls >/jp/test 2>&1
2>&1 表示执行结果及错误信息。
8. 备份定时任务
# crontab -l > /path/to/file
# crontab -u user -l > /path/to/file
备注:
1、 在crontab中,#代表了注释
#每隔10分钟执行一次
*/10 * * * * tesh.sh
2、 当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一条命令后,空一格,再加上 > /dev/null 2>&1 即可。如:
30 5 * * * ls > /dev/null 2>&1
3、 用户的定时任务文件为 /var/spool/cron/用户名
crontab -e 命令将相当于 vim /var/spool/cron/用户名
4、 cron服务每分钟不仅要读一次 /var/spool/cron 内的所有文件,还需要读一次 /etc/crontab 。因此我们配置这个文件也能运用cron服务做一些事情。
用 crontab 配置是针对某个用户的,
而编辑 /etc/crontab 是针对系统的任务。