云计算学习14days --- 定时任务crontab

crond使用状况

1.系统级别的定时任务shell

  • 临时文件清理
  • 系统信息采集
  • 日志文件切割
    2.用户级别的定时任务
  • 定时向互联网同步时间
  • 定时备份系统配置文件
  • 定时备份数据库的数据数据库

    使用定时任务(服务)准备

    几大基础服务:网络(network),定时任务(crond),系统日志(rsyslog),远程链接(sshd)vim

    定时任务小目标

  • 每5min同步一次系统时间
  • 天天晚上12点打包备份/etc目录到/backup
  • 打包备份/etc/usr下面以.conf结尾的文件 /backup
  • 打包备份/etc/usr下面以.conf结尾的文件 /backup/ip地址
  • 打包备份/etc/usr下面以.conf结尾的文件 /backup/ip地址并删除7天以前的备份
  • 打包备份/etc/usr下面以.conf结尾的文件 /backup/ip地址并删除7天以前的备份,保留周一的备份网络

    计划任务时间管理

    1.Crontab配置文件记录了时间周期的含义
    /etc/crontab 系统定义的定时任务
    /etc/cron.deny 能够禁止用户定义定时任务
    image.pngssh

符号 含义 举例
*
/ 每隔
, 表达没有太大规律的 00 8,9,10 * bb 八九十点去bb
- 范围 00 6-12 * bb 6到12点去bb
% 回车 用/%解决
每隔两个小时执行一次df -h
00 */2 * * * 不能有空格*/2

分时日月周post

天天半夜12点吃吃饭
00 00 * * * 吃饭

使用crontab用户定义cron定时任务

-e   #编辑定时任务,若是是root用户,则是vim /var/spool/cron/root
-l   #查看定时任务
-r   #删除定时任务,删除当前用户全部定时任务
-u   #指定其余用户
tail  -f   /vat/log/cron  #查看日志
[root@sb ~]# crontab -l
#pll bbbb
* * * * * echo bbb >>/tmp/bb.txt
每分钟 输出bbb到bb.txt
* * * * * /sbin/ntpdate ntp1.aliyun.com &>/dev/null  
若是不是/bin下的命令,加上命令的绝对路径
天天凌晨三点这一次备份,打包备份/etc/
tar zcf /tmp/etc.tar.gz  /etc/ 
crontab -e 
* 3 * * * tar zcf /tmp/etc.tar.gz   /etc/  &>/dev/null

定时任务未解之谜

man 5 crontab
同时书写日期和周几,仅仅一个符合就执行定时任务spa

故障案例,注意事项

1.给定时任务注释
2.将须要按期执行任务写入shell脚本中,避免直接使用命令没法执行状况 tar date
3.结尾必定要有&>/dev/null 或者追加剧定向>>/tmp/data.log
4.有些命令没法执行成功echo "123" >> /tmp/test.log &>/dev/null调试

定时任务没有定向到空或追加到文件,故障案例

邮件服务开启,会收到大量的提示日志

you have new mail in /var/spool/mail/root

最后致使邮件文件愈来愈大
关闭服务 systemctl stop postfix.service
会在/var/spool/postfix/maildrop下面生成大量小文件code

定时任务命令不在/bin /usr/bin ,故障案例

解决方法

  • 使用绝对路径
  • 在脚本开头从新配置下,与命令路径相关的环境变量
    source /etc/profile

    crond如何备份

    1.经过查找/var/log/cron中执行的记录,去推算任务执行的时间
    2.定时的备份/var/spool/cron/{username}

    如何拒绝某个用户使用

    1.使用root将须要拒绝的用户加入/etc/cron.deny
    2.

    计划任务如何调试

  • 增长频率
  • 调整系统时间
  • 把脚本执行结果写入指定日志文件,观察日志内容是否正常
  • 经过查看/var/log/cron日志

相关文章
相关标签/搜索