LINUX定时任务安装及设置
2022-01-10
在后端开发中,项目经常会设置周期性任务。我们需要了解一些linux相关命令和设置,在写好程序设置定时任务时,不需要查阅百度就可以自行设置。以下是我简单罗列的一些命令,初学者可以在centos环境下练习练习。比如自己写一个简单冒泡算法或者是定时执行sql语句的程序,在后台设置定时任务检测是否执行。
1、首先我们需要安装crontab(用来设置周期性被执行的命令),该命令下的指令文件存放于crontab文件中,其储存的指令会被守护进程激活。在项目中设置的定时任务称为cron jobs
安装如下:
yum install crontabs #安装命令 service crond start #启动命令 [root@iZ2ze600mhitg7n7bab0c0Z init.d]# service crond start Starting crond: [ OK ] 确定进程是否在运行 [root@iZ2ze600mhitg7n7bab0c0Z init.d]# service crond status crond (pid 25061) is running... 若未运行,则启动该进程
2、设置定时任务
一般设置规则是按分时日月周的规则进行的,如果不知如何设置,先记住分时日月周五个字。
例子如下:
*/1 * * * * /usr/bin/php 1.php #每隔一分钟执行一次 * */1 * * * /usr/bin/php 1.php #每隔一小时执行一次 * 23-3/1 * * * /usr/bin/php 1.php # 从23点-3点每隔一个小时执行一次 30 23 * * * /usr/bin/php 1.php #每天23点30分执行该脚本 30 23 1 * * /usr/bin/php 1.php #每月的第一天的23点30分执行 30 23 1 1 * /usr/bin/php 1.php #每年的一月一日的23点30分执行 30 23 * * 0 /usr/bin/php 1.php #每周日的23点30分执行
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
3、查看cron相关信息
crontab -l #查看cron crontab -e #编辑cron crontab -r #删除cron
4、禁止某些用户使用cron
为防止定时任务丢失或更改,可设置禁止某些用户使用cron,这样就会减少风险和不必要的麻烦。
具体操作是:将用户名添加到/etc/cron.deny里
5、查看某个用户的cron列表
crontab -u yezi -l
6、run parts 文件夹中定义了具体的任务
0 1 * * * root run-parts /etc/cron.hourly
以上就是简单关于linux定时任务的介绍,希望有用!