22天 定时任务

昨天课程重点回顾

  1. 课程知识梳理复习
    1. 掌握操作系统用户分类 管理员 虚拟用户 普通用户

    2. 掌握特殊权限设置方法 setuid setgid 粘滞位 chattr lsattr

    3. 掌握用户相关文件目录 /etc/passwd /etc/skel

    4. 掌握用户相关命令信息
      groupadd : 创建指定用户组 -g 指定组id

      groupadd dev -g 2000

      grep dev /etc/group

      dev❌2000:
      groupdel :
      groupmod : 修改指定用户组 -g 指定组id

      开发人员 – 线上服务器 完全控制 开发目录
      chown dev01.dev01 /development/
      chmod g+w /development/

      ll /development/ -d

      drwxrwxr-x 2 dev01 dev01 6 Nov 11 15:44 /development/
      usermod sa01 -G dev01

      运维人员 – 线上服务器 完全控制 开发目录 运维目录 数据库目录
      ???
      数据库人员 – 线上服务器 完全控制 数据库目录
      ???

      如何查看用户信息:
      whoami — 以什么用户登录系统
      id — 查看用户uid数值 所属组信息 以及组id数值
      w — 显示系统当前状态登录用户信息
      ps -ef|grep ssh —> kill 进程号
      last — 记录谁远程连接破坏过系统
      lastlog — 系统用户登录情况

      合理设置不同用户权限, 设置用户密码信息
      密码信息如何设置管理:
      方法一: excel 表格
      方法二: 利用密码管理软件/jumpserver ******
      方法三: 需要密码令牌 动态变化

操作系统定时任务

操作系统定时任务介绍

闹钟: 定时间  任务响铃声
概念介绍: 周期性, 让系统完成相应操作任务
作用说明: 1) 周期性, 进行数据备份操作
          2) 周期性, 重启服务程序      tomcat--java--耗费内存  移动互联网
		  3) 周期性, 切割日志信息
		  4) 周期性, 执行脚本文件

系统定时任务实现方式

1) 利用crond   服务实现定时任务   ******
    查看是否开启服务:systemctl status crond
   一个命令:   crontab
   crontab -e 配置定时任务
   crontab -l 查看定时任务
   一个文件:   /var/log/cron 
2) 利用atd     软件实现定时任务  类似闹钟 一次设置, 只执行一次
3) 利用anacron 软件实现定时任务  系统默认设置定时任务 设置时间不灵活
   /etc/cron.daily     --- 周期为每天    24小时计算为一天
   /etc/cron.hourly    --- 周期为每小时  
   /etc/cron.monthly   --- 周期为每个月
   /etc/cron.weekly    --- 周期为每周

练习

练习:
1. 每天凌晨2点整, 休息睡觉
    错误: * 02 * * *   休息睡觉
	说明: 2点时间里面, 每分钟都会执行相应任务
	正确; 0 02 * * *   休息睡觉
2. 每周周五大保健
    错误: *  *  * * 5        15 周五 00:00  
	正确: 00 21 * * 5     
3. 每个月5日 晚上7点整, 周五和女朋友约会
    00 19 5 * 5   约会
    理论: 星期和日期 建议不要同时设置
    实际: 每月5号    19点整会约会
          每星期周五 晚上19点整约会	
4. 每隔2个小时, 喝水
0 */2 * * *
    1点设置定时任务  每隔2个小时  正确预习 3点执行  5点执行 7点执行
                                  
时间符号信息:
*   :  每        每分钟     每小时    每天  每个月  每周几
*/n :  每隔多久  每隔n分钟  每隔n小时
                 执行周期是n倍数时间
	   */2小时   正确执行  0  2  4  6  8   10  12  14
       */3小时   正确执行  0  3  6  9  12  15  ..
, :指定时间完成任务
 1,3,5,7
 tail -f /var/log/cron查看日志

定时任务设置常见错误

1) 定时任务命令信息尽量使用绝对路径
   练习: 每分钟, 执行时间同步任务, ntpdate	
   编写定时任务:
   * * * * *  echo $PATH >/tmp/test.txt
   查看执行结果:
   # cat /tmp/test.txt 
   /usr/bin:/bin
   # which ntpdate
   /usr/sbin/ntpdate
   
2) 定时任务命令信息最好不要使用特殊符号
   定时任务无法识别特殊符号处理方法:
   方法一: 将定时任务命令信息放入到脚本文件中
           * * * * * /bin/sh /root/test.sh
   方法二: 将特殊符号信息进行转义
   * * * * * echo "`date +\%F_\%T`" >> /tmp/tes
   建议星期信息和日期信息不要同时设置
   /n设置时要符合每天24小时逻辑
      3. 尽量让定时任务执行时不要产生输出信息(错误输出)	
      定时任务操作出错信息会追加到一个邮件文件中
	  /var/spool/mail/root          消耗磁盘资源 block
	  
	  关闭邮件服务, 错误信息不会追加到邮件文件中
      systemctl status postfix.service  --- 让系统发送邮件信息服务
	  但是会生成大量小文件信息
	  /var/spool/postfix/maildrop/  消耗磁盘资源 inode
	  
	  处理方法: 
	  第一个里程: 邮件服务开启
	  systemctl start postfix.service
	  第二个里程: 定时任务执行时错误信息和正确信息放入到系统黑洞中
	  /dev/null
	  # crontab -e
      * * * * * /usr/bin/cp /oldboy/oldboy.txt  /backup &>/dev/null
      * * * * * /usr/bin/cp /oldboy/oldboy.txt  /backup >/dev/null 2>&1  
   4. 尽量给定时任务设置注释说明信息

   5. 大于2个任务需要同一时刻执行, 编写脚本完成多个任务

作业:

01 以下设置时间表示什么意思:
0 1-5/2 * * * 学习
凌晨1点到5点之间两小时执行定时任务

0 1,3,6/2 * * * 学习
语法格式不对

02 编写全网备份数据定时任务:
a 将重要文件打包备份 /etc/hosts /etc/rc.local /etc/profile 备份/backup目录中
tar zcvhf /backup/system_bak.tar.gz /etc/hosts /etc/rc.local /etc/profile

b 每个压缩文件名称后面要有日期信息
system_backup.tar.gz-20191112
system_backup.tar.gz-20191113

 tar zcvhf /backup/system_bak.tar.gz-`date "+%F_%T"`  /etc/hosts /etc/rc.local /etc/profile
 tar zcvhf /backup/system_bak.tar.gz-$(date "+%F_%T" -d "-1 day")  /etc/hosts /etc/rc.local /etc/profile

c 每天会清理备份数据, 将7天以前备份数据要进行删除
find /backup -type f -name “system.*” -mtime +7|xargs rm

d 定时任务每天0点执行
编写脚本文件:
backup.sh
#!/bin/bash
tar zcvhf /backup/system_bak.tar.gz-date "+%F_%T" /etc/hosts /etc/rc.local /etc/profile
find /backup -type f -name “system.*” -mtime +7|xargs rm

 编写定时任务:
 0 0 * * *  /bin/sh /test.sh  

 周一数据备份   周二 0点备份   生成备份数据 system_bak.tar.gz-周一
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值