Ubuntu: crond

Ubuntu: crond
root@iZwz99xibtof6c8lod50rhZ:~# service crond status
crond: unrecognized service
root@iZwz99xibtof6c8lod50rhZ:~# yum install vixie-cron
The program 'yum' is currently not installed. You can install it by typing:
apt-get install yum
root@iZwz99xibtof6c8lod50rhZ:~# apt-get install yum
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  amd64-microcode linux-image-extra-4.4.0-31-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libsqlite0 python-libxml2 python-rpm python-sqlite python-sqlitecachec
  python-urlgrabber
Suggested packages:
  python-sqlite-dbg
The following NEW packages will be installed:
  libsqlite0 python-libxml2 python-rpm python-sqlite python-sqlitecachec
  python-urlgrabber yum
0 upgraded, 7 newly installed, 0 to remove and 3 not upgraded.
Need to get 1,216 kB of archives.
After this operation, 5,351 kB of additional disk space will be used.
Do you want to continue? [Y/n]                        

输入:y

Do you want to continue? [Y/n] y
Get:1 http://mirrors.cloud.aliyuncs.com/ubuntu/ trusty/universe libsqlite0 amd64 2.8.17-10ubuntu2 [139 kB]
Get:2 http://mirrors.cloud.aliyuncs.com/ubuntu/ trusty-updates/main python-libxml2 amd64 2.9.1+dfsg1-3ubuntu4.13 [139 kB]
Get:3 http://mirrors.cloud.aliyuncs.com/ubuntu/ trusty/universe python-sqlite amd64 1.0.1-11 [20.7 kB]
Get:4 http://mirrors.cloud.aliyuncs.com/ubuntu/ trusty-updates/main python-urlgrabber all 3.9.1-4ubuntu3.14.04.1 [42.3 kB]
Get:5 http://mirrors.cloud.aliyuncs.com/ubuntu/ trusty-updates/universe python-rpm amd64 4.11.1-3ubuntu0.1 [32.6 kB]
Get:6 http://mirrors.cloud.aliyuncs.com/ubuntu/ trusty/universe python-sqlitecachec amd64 1.1.4-1 [21.4 kB]
Get:7 http://mirrors.cloud.aliyuncs.com/ubuntu/ trusty/universe yum all 3.4.3-2ubuntu1 [821 kB]
Fetched 1,216 kB in 0s (3,088 kB/s)
Selecting previously unselected package libsqlite0.
(Reading database ... 133621 files and directories currently installed.)
Preparing to unpack .../libsqlite0_2.8.17-10ubuntu2_amd64.deb ...
Unpacking libsqlite0 (2.8.17-10ubuntu2) ...
Selecting previously unselected package python-libxml2.
Preparing to unpack .../python-libxml2_2.9.1+dfsg1-3ubuntu4.13_amd64.deb ...
Unpacking python-libxml2 (2.9.1+dfsg1-3ubuntu4.13) ...
Selecting previously unselected package python-sqlite.
Preparing to unpack .../python-sqlite_1.0.1-11_amd64.deb ...
Unpacking python-sqlite (1.0.1-11) ...
Selecting previously unselected package python-urlgrabber.
Preparing to unpack .../python-urlgrabber_3.9.1-4ubuntu3.14.04.1_all.deb ...
Unpacking python-urlgrabber (3.9.1-4ubuntu3.14.04.1) ...
Selecting previously unselected package python-rpm.
Preparing to unpack .../python-rpm_4.11.1-3ubuntu0.1_amd64.deb ...
Unpacking python-rpm (4.11.1-3ubuntu0.1) ...
Selecting previously unselected package python-sqlitecachec.
Preparing to unpack .../python-sqlitecachec_1.1.4-1_amd64.deb ...
Unpacking python-sqlitecachec (1.1.4-1) ...
Selecting previously unselected package yum.
Preparing to unpack .../yum_3.4.3-2ubuntu1_all.deb ...
Unpacking yum (3.4.3-2ubuntu1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up libsqlite0 (2.8.17-10ubuntu2) ...
Setting up python-libxml2 (2.9.1+dfsg1-3ubuntu4.13) ...
Setting up python-sqlite (1.0.1-11) ...
Setting up python-urlgrabber (3.9.1-4ubuntu3.14.04.1) ...
Setting up python-rpm (4.11.1-3ubuntu0.1) ...
Setting up python-sqlitecachec (1.1.4-1) ...
Setting up yum (3.4.3-2ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.14) ...
root@iZwz99xibtof6c8lod50rhZ:~# apt-get install yum
Reading package lists... Done
Building dependency tree
Reading state information... Done
yum is already the newest version.
The following packages were automatically installed and are no longer required:
  amd64-microcode linux-image-extra-4.4.0-31-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
root@iZwz99xibtof6c8lod50rhZ:~#                                            

1、cron服务

检查cron服务检查Crontab工具是否安装 : which crontab  显示出crontab的安装路径

检查Crond服务是否启动:service crond status

安装cron

yum install vixie-cron
yum install crontabs

查看crontab服务状态:service crond status

Last login: Thu Dec  8 14:05:36 2016 from 110.186.49.105

[root@i-B264EB62 ~]

# service crond status crond (pid  1811) is running…

[root@i-B264EB62 ~]

#

服务的开启和关闭

[root@i-B264EB62 ~]# service crond stop
Stopping crond:                                            [  OK  ]
You have new mail in /var/spool/mail/root

[root@i-B264EB62 ~]

# service crond status crond is stopped

[root@i-B264EB62 ~]

# service crond start Starting crond:                                            [  OK  ]

[root@i-B264EB62 ~]

# service crond status crond (pid  621) is running…

[root@i-B264EB62 ~]

#

加入开机自动启动:

加入开机自动启动:
chkconfig –level 35 crond on

1,crontab命令

功能说明:设置计时器。

语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command

参  数:
-e  编辑该用户的计时器设置。
-l  列出该用户的计时器设置。
-r  删除该用户的计时器设置。
-u<用户名称>  指定要设定计时器的用户名称。

2,crontab 格式

基本格式 :
* *  *  *  *  command
分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed

crontab文件的一些例子:

30 21 * * * /etc/init.d/nginx restart
每晚的21:30重启 nginx。

45 4 1,10,22 * * /etc/init.d/nginx restart
每月1、 10、22日的4 : 45重启nginx。

10 1 * * 6,0 /etc/init.d/nginx restart
每周六、周日的1 : 10重启nginx。

0,30 18-23 * * * /etc/init.d/nginx restart
每天18 : 00至23 : 00之间每隔30分钟重启nginx。

0 23 * * 6 /etc/init.d/nginx restart
每星期六的11 : 00 pm重启nginx。

* */1 * * * /etc/init.d/nginx restart
每一小时重启nginx

* 23-7/1 * * * /etc/init.d/nginx restart
晚上11点到早上7点之间,每 隔一小时重启nginx

0 11 4 * mon-wed /etc/init.d/nginx restart
每月的4号与每周一到周三 的11点重启nginx

0 4 1 jan * /etc/init.d/nginx restart
一月一号的4点重启nginx

*/30 * * * * /usr/sbin/ntpdate 210.72.145.20
每半小时同步一下时间

默认情况下  crontab服务已经安装了。

一个简单例子:

每分钟都打印当前时间到一个日志文件中

crontabl  – help 参数


tail的使用

2、查看已经做的定时任务列表

[root@i-B264EB62 ~]# crontab -l
0 3 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date timerShop
0 10 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date unpayOrder
0 12 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date pay_undo
0 14 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date orderTransit
0 20 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date order_auto_complete
30 12 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date voucher_failure
* */1 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php hour order_cancle
0 02 * * 6 mysqldump -uddmeitu -prQtXLdARsY2q4yhu ialbum_test >/var/www/databack/ddmeitu_back.sql
*/1 * * * *  /phpstudy/server/php/bin/php /var/www/html/chshop/crontab/index.php minutes index
0 20 * * * /phpstudy/server/php/bin/php /var/www/html/chshop/crontab/index.php date index
0 2 * * * /phpstudy/server/php/bin/php /var/www/html/ddmeitu/crontab/index.php date index

3、编辑定时任务

[root@i-B264EB62 ~]# crontab -e

0 3 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date timerShop
0 10 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date unpayOrder
0 12 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date pay_undo
0 14 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date orderTransit
0 20 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date order_auto_complete
30 12 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php date voucher_failure
* */1 * * * /phpstudy/server/php/bin/php /var/www/html/ialbum/crontab/index.php hour order_cancle
0 02 * * 6 mysqldump -uddmeitu -prQtXLdARsY2q4yhu ialbum_test >/var/www/databack/ddmeitu_back.sql
*/1 * * * *  /phpstudy/server/php/bin/php /var/www/html/chshop/crontab/index.php minutes index
0 20 * * * /phpstudy/server/php/bin/php /var/www/html/chshop/crontab/index.php date index
0 2 * * * /phpstudy/server/php/bin/php /var/www/html/ddmeitu/crontab/index.php date index
~                                                                                                                        
~                                                                                                                        
~                                                                                                                        
~                                                                                                                        
~                                                                                                                        
~                                                                                                                        
~

4、在Linux系统中直接执行php代码,不等时间到点才执行定时任务。

格式:php的路径+程序代码路径,例如下面:

[root@i-B264EB62 ~]# /phpstudy/server/php/bin/php /var/www/html/ddmeitu/crontab/index.php date test

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注