定时任务crontab

本文介绍了如何使用crontab设置定时任务,包括查看规则、实例展示、误删恢复、权限限制和调试方法。强调了通过日志监控和调整执行频率来确保任务正常运行,并提醒使用命令的绝对路径以避免执行故障。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时任务crontab
  1. 查看crontab的规则
cat /etc/crontab
------------------/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
-------------------------------------------------
*/10 2 * * * /usr/bin/sh /usr/bin/ls	#每天两点内,每隔10分钟执行一次
  1. 实例
#每天三点将/etc/备份到/backup
mkdir /backup
mkdir /scripts
vim /scripts/beifen.sh
---------------beifen.sh-----------
cd /
tar -czf /backup/$(date +%F)_$(hostname)_etc.tar.gz etc/	#打包备份
find /backup/ -mtime +3 -delete	#删除三天前的备份
----------------------------------
crontab -e
---------------------------
#备份/etc/到/backup
* 2 * * * /usr/bin/sh /scripts/beifen.sh	#每天2两执行一次
---------------------------
crontab -l	#查看当前全部的定时任务
  1. 误删除定时任务的追溯
ll /var/spool/cron/USERNAME	#文件名取决于你是什么用户
#1.拿到所有执行过的任务
[root@container ~]# grep "CMD" /var/log/cron | awk -F '('  '{print $3}' | sort |uniq
ntpdate time.windows.com &>/dev/null
/usr/bin/sh /opt/backup.sh &>/dev/null
#2.根据执行的任务。去过滤 ,然后找到他的执行时间和周期。
[root@container ~]# grep "/usr/bin/sh /opt/backup.sh &>/dev/null" /var/log/cron
  1. 不允许oldxu用户使用crontab
echo "oldxu" >> /etc/cron.deny
cat /etc/cron.deny
  1. crond调试
    1. 调整任务每分钟执行的频率, 以便做后续的调试。
      (1).先手动执行没问题。
      (2).crond 每分钟执行以下,进行测试。
      (3).调整为需要执行的时间,进行执行。
    2. 如果使用cron运行脚本,请将脚本执行的结果写入指定日志文件, 观察日志内容是否正常。
    3. 命令使用绝对路径, 防止无法找到命令导致定时任务执行产生故障。
    4. 通过查看/var/log/cron日志,以便检查我们执行的结果,方便进行调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值