linux定时任务介绍

#cron是一个linux下的定时执行工具,可无需人工干预的情况下运行作业 一般都默认安装了


#常用命令如下:
# 启动服务
systemctl start crond
# 关闭服务   
systemctl stop crond
#重启服务   
systemctl restart crond
# 重新载入配置
systemctl reload crond
# 查看服务状态 
systemctl status crond
#查看root用户的crontab任务
crontab -l
#删除root用户所有crontab任务
crontab -r
#使用者名称
crontab -u root -r


#/var/spool/cron/ 这个目录下存放的是每个用户包括root的crontab任务
#每个任务以创建者的名字命名,比如root建的crontab任务对应的文件就是/var/spool/cron/root
#一般一个用户最多只有一个crontab文件



#/etc/crontab 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab
cat /etc/crontab #结果如下
#####################################
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs

# 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
######################################
#MAILTO=root:当/etc/crontab这个档案中的例行性命令发生错误时,会将错误讯息或者是屏幕显示的讯息传给谁,root无法在用户端收信,因此通常都將这个改成自己的账号,好随时了解系统的状态


# 在/etc目录下:cron.daily/   cron.hourly/  cron.monthly/   cron.weekly/ 有这四个目录 将需要执行的命令直接写到这四个目录即可,而且不需要使用到crontab -e
# /etc/cron.d/目录用来存放任何要执行的crontab文件或脚本



#crontab时间格式说明
#第一个* 一小时的第几分钟 0-59
#第二个* 一天中的第几个小时 0-23
#第三个* 一月中的第几天  1-31
#第四个* 一年中的第几月  1-12
#第五个* 一周当中的星期几 0-7(0和7星期天)
#示例如下:
#每分钟执行  */1 * * * *
#每五分钟执行  */5 * * * *
#每小时执行     0 */1 * * *
#每12小时执行   0 */12 * * *
#每天执行        0 0 * * *
#每周执行       0 0 * * 0
#每月执行        0 0 1 * *
#每年执行	0 0 1 1 *



#cron权限
#/etc/cron.allow  默认是没有的 系统首先判断是否有这个文件,若有的话系统会判断用户有没有在cron.allow的名单里,若在名单里,就可以使用cron机制,若用户没有在cron.allow名单里就不能使用cron机制
#/etc/cron.deny 若没有cron.allow这个文件,系统会再判断是否有cron.deny这个文件,若有cron.deny这个文件的话,就会判断这个使用者有没有在cron.deny这个名单里面,若在cron.deny名单里面的话,将不能使用cron机制,若没有在cron.deny这个名单里面的话就可以使用cron机制 默认里面是空的 
#注意若用户在/etc/cron.allow和/etc/cron.deny都有的话以/etc/cron.allow为主,可使用cron机制




#创建定时任务

#方式1:直接替换该用户下所有crontab任务而不是新增
#第一步:编写cron脚本文件,命名为cronTest 
vi cronTest
#内容如下
##############################################
#表示每隔1分钟,执行打印一次命令并追加到a.txt文件中
*/1 * * * * echo "aaa" >> ~/a.txt  
##############################################
#第二步:执行命令 crontab cronTest,添加定时任务 
crontab cronTest
#第三步:crontab -l 查看定时任务是否成功或者检查 /var/spool/cron目录下是否生成对应cron脚本
crontab -l

#方式2:crontab -uroot -e 命令进入crontab 可自己新增
crontab -uroot -e


#https://tool.lu/crontab/ 在线查看时间格式是否错误

你可能感兴趣的:(使用linux系统,linux定时任务,linux定时crontab,cron,crontab)