centos和ubuntu下使用cron设置定时任务
1.启动cron工具[ps:使用root权限]
centos启动cron两种方式
a) /etc/init.d/crond start
b) service crond start
ubuntu启动cron两种方式
a) /etc/init.d/cron start
b) service cron start(推荐)
2.添加定时任务[每个整点执行ls命令]
centos
crontab -e命令打开文件
添加一行:0 * * * * ls
ubuntu
crontab -e命令打开文件[ps:第一次用这个命令,会让你选择文本编辑器,输入对应的编辑器编号,这个问题后面有详解]
添加一行:0 * * * * ls
保存退出
3.查看定时任务
centos||ubuntu
crontab -l
以上是一个简单的定时任务的操作,
crontab命令选项
crontab file [-u user] 用指定的文件代替默认的crontab文件,例如:crontab /var/mycron.txt -u root
如果想还原默认的文件,执行crontab -r删除任务
crontab -l [-u user] 列出指定用户当前的任务
crontab -e [-u user] 编辑指定用户定时任务
crontab -r [-u user] 删除指定用户当前的任务
crontab文件语法
格式为:分(0-59) 小时(0-23) 日(1-31) 月(1-12) 星期(0-6) 命令(command)
记住几个特殊符号的含义:
"*"代表取值范围内的数字,
"/"代表”每”,
"-"代表从某个数字到某个数字,
","分开几个离散的数字
例如:
* * * * * ls 表示每分钟执行一次ls命令
5 * * * * ls 表示每个小时的第5分钟执行一次ls命令
30 5 * * 0 ls 表示每星期日的5:30分执行一次ls命令
20 3-8 * * * ls 表示每天3点到8点的第20分执行一次ls命令
*/15 * * * * php -f /varwww/index.php 表示每小时的0,15,30,45执行一次php文件
4.每5秒执行一次
* * * * * php -f /var/tmp/index.php
* * * * * sleep 5; php -f /var/tmp/index.php
* * * * * sleep 10; php -f /var/tmp/index.php
* * * * * sleep 15; php -f /var/tmp/index.php
* * * * * sleep 20; php -f /var/tmp/index.php
* * * * * sleep 25; php -f /var/tmp/index.php
* * * * * sleep 30; php -f /var/tmp/index.php
* * * * * sleep 35; php -f /var/tmp/index.php
* * * * * sleep 40; php -f /var/tmp/index.php
* * * * * sleep 45; php -f /var/tmp/index.php
* * * * * sleep 50; php -f /var/tmp/index.php
* * * * * sleep 55; php -f /var/tmp/index.php
接下来讲解一下我在ubuntu中遇到的困难
crontab -e的时候我忘记选择编辑器了,于是出现了这个界面
这是忘记选择vim编辑器,其实也可以在文件中编辑,只是有点陌生,好吧,继续
在文件最后一行添加执行任务后:Ctrl+X退出,然后输入y保存,然后回车退出,ok,搞定了
但是我就是一个强迫症患者,感觉有点不爽,我想用vim,继续
在命令行中输入sudo select-editor,选择对应的vim序号,ok,终于圆满了