cron 该命令默认安装并启动
准备工作:
- ubuntu下crontab的服务程序是cron,并且默认cron服务的log是没有的,我们必须手动开启- 命令:sudo vim /etc/rsyslog.d/50-default.conf- 找到cron.*那一行把注释去掉, /var/log/cron.log- 重启cron服务 sudo service cron restart每次增加新的任务之后需要重启服务
命令如下:
- service cron start /启动服务/
- service cron stop /关闭服务/
- service cron restart / 重启服务/
- service cron reload /重新载入配置/
查看 cron 进程
pgrep cron
- 返回进程id
- crontab -u /设定某个用户的cron服务/
- crontab -l /列出某个用户cron服务的详细内容/
- crontab -r /删除某个用户的cron服务/
crontab -e /编辑某个用户的cron服务/
- 参数含义
- l 显示用户的Crontab文件的内容 示例: crontabl –l
- i 删除用户的Crontab文件前给提示 示例: crontabl -ri
- r 从Crontab目录中删除用户的Crontab文件 示例: crontabl -r
- e 编辑用户的Crontab文件 示例: crontabl -e
/etc/crontab文件语法如下:
Minute Hour Day Month Dayofweek user command*/1 * * * * ubuntu cd /home/ubuntu && sh test.sh 每分钟启动一次* 0 * * * ubuntu cd /home/ubuntu && sh everyday.sh
- Minute Hour Day Month Dayofweek command- Minute :分钟(0-59),表示每个小时的第几分钟执行该任务- Hour : 小时(1-23),表示每天的第几个小时执行该任务- Day : 日期(1-31),表示每月的第几天执行该任务- Month : 月份(1-12),表示每年的第几个月执行该任务- DayOfWeek : 星期(0-6,0代表星期天),表示每周的第几天执行该任务- Command : 指定要执行的命令(如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径)- “ * ” ,代表所有的取值范围内的数字;- “ / ” , 代表”每”(“*/5”,表示每5个单位);- “ - ” , 代表从某个数字到某个数字(“1-4”,表示1-4个单位);- “ , ” ,分开几个离散的数字;Tip: shell脚本中含有source命令运行时提示 source: not found 如果:ls -l /bin/sh 后显示/bin/sh -> dash 解决方案: 命令行执行:dpkg-reconfigure dash(需要root权限) 在界面中选择no 再运行ls -l /bin/sh 后显示/bin/sh -> bash