使用 crontab 定时执行脚本
cron 服务是一个定时执行的服务, 可以通过 crontab 命令添加或者编辑需要定时执行的任务:
crontab -e : 修改 crontab 文件, 如果文件不存在会自动创建.
crontab -l : 显示 crontab 文件.
crontab -r : 删除 crontab 文件.
crontab -ir : 删除 crontab 文件前提醒用户.
执行以上命令的时候, 若遇到 "crontab command not found" 错误, 这是因为软件包没有安装
crontab 要安装两个软件包:
vixie-cron 及 crontabs
直接执行
- yum install vixie-cron
- yum install crontabs(这句可能不需要, 但是你也可试试)
即可解决.
在 crontab 文件中写入需要执行的命令和时间, 该文件中每行都包括六个域, 其中前五个域是指定命令被执行的时间, 最后一个域是要被执行的命令. 每个域之间使用空格或者制表符分隔. 格式如下:
minute hour day-of-month month-of-year day-of-week commands
分钟 小时 天 月 星期 要执行的命令
前面五个参数中间用空格隔开, 最后是要执行的命令.
合法值为: 00-59 00-23 01-31 01-12 0-6 (0 is sunday)
除了数字还有几个特殊的符号:"*","/" 和 "-",","
* 代表所有的取值范围内的数字
"/" 代表每的意思,"/5" 表示每 5 个单位
"-" 代表从某个数字到某个数字
"," 分开几个离散的数字
注: commands 注意以下几点
要是存在文件, 要写绝对路径
即使是打印也不会显示在显示屏, 在后台运行, 最好重定向日志
step1: 写 cron 脚本文件, 命名为 mytest.cron.
如: */1 * * * * echo "crontest">> /export/Domains/yy.embed.jd.com/server1/logs/test.txt 表示每分钟, 执行一次打印命令, 往 test.txt 文件里写入一个
step2: 添加定时任务. 执行命令
crontab mytest.cron
step3:"crontab -l" 查看定时任务是否成功或者检测 / var/spool/cron 下是否生成对应 cron 脚本
step4:"service crond status"
Crontab 是一个很方便的在 unix/linux 系统上定时 (循环) 执行某个任务的程序
使用 cron 服务, 用 service crond status 查看 cron 服务状态, 如果没有启动则 service crond start 启动它, 启动命令 "service crond start".
来源: https://www.cnblogs.com/hustzzl/p/8878664.html