Linux Crontab 定时任务

Crontab 安装

# 服务器是否安装了crontab
rpm -qa | grep crontab  
# 使用yum命令安装Crontab
# vixie-cron软件包是cron的主程序
yum install vixie-cron 
# crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序
yum install crontabs

Crontab 启动,停止,重启命令


#  启动服务
service crond start
# 关闭服务
service crond stop 
# 重启服务
service crond restart
# 重新载入配置
service crond reload
# 查看crontab服务状态
service crond status
# 同样可以设置开机自启动
chkconfig --level 345 crond on

查看任务,添加任务,删除任务

# 查看crontab定时任务
crontab -l
# 添加任务,cron表达式  sh脚本路径
crontab -e
# 删除所有的定时任务
crontab -r

crontab -e 配置文件位置

全局配置文件

crontab 在/etc目录下面存在cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d五个目录crontab,cron.deny二个文件

[root@uc-jumpbox-uat etc]# find cron.*
cron.d  # 是系统自动定期需要做的任务
cron.daily # 是每天执行一次的job
cron.deny # 文件就是用于控制不让哪些用户使用Crontab的功能
cron.hourly # 是每小时执行一次的job
cron.monthly # 是每月执行一次的job
cron.weekly # 是每周只一次的job
crontab  # 是设定定时任务执行文件

用户配置文件

每个用户都有自己的cron配置文件,可以通过 crontab -e 就可以编辑,一般情况下我们编辑好的用户的cron配置文件保存退出后,系统会自动就存放于 /var/spool/cron/目录中 文件以用户名称命令,liunx的cron服务是每隔一分钟取读取一次 /var/spool/cron , /ect/crontab , /etc/cron.d 下面的所有内容

[root@uc-jumpbox-uat cron]# ll
total 4
-rw-------. 1 root     root     103 Jul 27 05:34 root
-rw-------. 1 abc  	   abc		0   Jul 27 02:08  abc  

crontab 日志查看

crontab的运行日志 可以在 /var/log/cron.log 文件中
如果没有 /var/log/cron.log 可能是在 /var/log/cron

# 查看crontab日志
[root@uc-wqw log]# tail -2 cron
Jul 27 03:11:01 uc-wqw CROND[27438]: (root) CMD (/home/temp/test.sh)

crontab有时候找不到日志

需要通过配置打开crontab的日志记录功能

sudo vim /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log # 将cron前面的注释去掉
# 重启rsyslog
sudo /etc/init.d/rsyslog restart
# 重启rsyslog
sudo service rsyslog restart 
# 重启cron程度
sudo service cron restart  
# 重启crond。 在有的系统中,定时任务程序名称是crond
sudo service crond restart      
  

demo

创建 sh脚本 test.sh

#!/bin/bash
# 进入指定目录
cd /home/temp/
#输出内容
echo "just test" >> test1.txt
echo `date` >> test1.txt

手动执行 test.sh 有可能会保找不到路径
你需要 重新设置下文件格式 用vim打开该sh文件,输入
set ff=unix
在这里插入图片描述

设置任务

# 设置任务
crontab -e
*/1 * * * *  /home/test/test.sh
# 设置 文件权限
chmod 777 test.sh

cron表达式

cron表达式在线工具
https://tool.lu/crontab

Crontab不执行原因

时区的问题

# 设置时区
timedatectl set-timezone Asia/Shanghai
# Linux 修改时间和时区为上海时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 重启服务
/bin/systemctl restart crond.service
# 查看服务状态
service crond status
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值