作业管理及任务计划

①作业管理
②同步服务器时间
③任务计划

作业管理
     Linux的作业控制
               前台作业:通过终端启动,且启动后一直占据终端
               后台作业:可通过终端启动,但启动后即转入后台运行
    让作业运行于后台
               (1)运行中的作业: Ctrl+z
               (2)尚未启动的作业: command &后台执行
                    后台作业虽然被送往后台运行,但其依然于终端相关;退出终端,将关闭后台作业。
    将后台作业送往后台运行,剥离于终端的关系
               nohup command &> /dev/null &
               screen; command
     查看当前终端所有作业:jobs编号
     作业控制:
               fg[后台编号]:把指定的后台作业调回前台
               bg[后台编号]:让送往后台的作业在后台继续运行
               kill[后台编号]:终止指定的作业
     并行运行:同时运行多个进程,提高效率
               方式1:将多条命令写进脚本并在命令尾部加&,运行脚本
               方式2:(command1 &);(command2 &);(command3 &)
               方式3:{command1 & command2 & command3 &}
     执行长时间任务时防止网络中断造成操作中断
               方法1:剥离命令与终端的联系,终端中断后进程将转移至1进程上,再恢复
                              nohup COMMAND &>/dev/null &
               方法2:开启一个screen会话,重新进入后screen -r即可恢复
                              screen;COMMAND;screen -r 恢复
—————————————————————————————————————————-
同步服务器时间
ContOS6
          /tec/ntp .conf #时间同步配置文件
                         server IP iburst #配置文件里添加同步IP服务器
          ntpdate IP #和服务器时间同步
          service ntpd start #开启同步时间服务
          chkconfig ntpd on #开机自动启动
ContOS7
          /etc/chrony.conf #时间同步配置文件
                         server IP iburst #配置文件里添加同步IP服务器
          ntpdate IP #和服务器时间同步
          systemctl start chronyd #开启同步时间服务
          systemctl enalbe chronyd #开机自动启动
—————————————————————————————————————————-
任务计划
     Linux任务计划,周期性任务执行
               未来的某时间点执行一次任务:at,batch(系统自行选择空闲时间去执行此处指定的任务)
                          systemctl status atd #ContOS7查看任务是否开启
               周期性运行某任务:cron
               cronie包:主程序包
               cronie-anacron包:cronie的补充程序,用于监控cronie任务执行状况,如果cronie中的任务在过去该运行时间点未能正常运行,则anacron会随后启动一次
               croutabs包:包含CentOS提供系统维护任务
                          systemctl status crond #ContOS7开启计划任务服务
                          service crond status #ContOS6开启计划任务服务
at命令:未来的某时间点执行一次任务
          语法:at [option] time
          常用选项
                    -V: 显示版本信息
                    -l: 列出指定对垒中等待运行的作业;相当于atq
                    -d: 删除指定的作业
                    -c: 查看具体作业任务
                    -f /path/from/somefile: 从指定的文件中读取任务
                    time: 定义什么时候进行at 这项任务的时间
                    -m: 当任务被完成之后,强制给用户发送邮件,即使没有标准输出
                              /etc/at.deny #计划黑名单
                              /etc/at.allow #计划白名单(默认不存在)
                              /var/spool/at #计划任务存放目录
          小结
                    作业执行命令的结果中的标准输出和错误以邮件通知给相关用户
                    尽量计划任务不要带有标准输出信息,以免过多产生垃圾内存
                              如果没有白名单的时候 除了黑名单的用户都能执行计划任务
                              如果白名单存在,只有白名单用户才能执行计划任务
                              如果黑名单里的用户和白名单重复,以白名单为基准
                              如果两个文件都不存在,只有root可以执行 at 命令
/etc/crontab:系统维护作业
          计划任务的格式
                    # * * * * * user-name command to be executed
                    分钟 小时 日 月 周 身份 命令
          时间格式
                    @reboot 重启时执行
                    @yearly 0011*
                    @annually 0011*
                    @monthly 001**
                    @weekly 00**0
                    @daily 00***
                    @hourly *****
cronteab命令:用户cron任务
          计划任务的格式
                    # * * * * * command to be executed
                    分钟 小时 日 月 周 命令
          语法:crontab []
          参数
                    -l 列出所有任务
                    -e: 编辑任务
                    -r: 移除所有任务
                    -i: 同-r一同使用,以交互式模式移除指定任务
                    -u user 仅root可运行,指定用户管理cron任务
          控制用户执行计划任务:/etc/cron.{allow,deny}#黑名单,白名单与at相同
          日志目录:/var/log/cron
          run-parts [路径]:指定路径下所有脚本都会运行
anacron系统
          运行计算机关机时cron不运行的任务,CentOS6以后版本取消anacron服务,由crond服务管理
          对笔记本电脑、台式机、工作站、偶尔要关机的服务器及其它不一直开机的系统很重要对很有用
          配置文件:/etc/anacrontab,负责执行/etc/ cron.daily /etc/cron.weekly /etc/cron.monthly中系统任务。
          字段1:如果在这些日子里没有运行这些任务……
          字段2:在重新引导后等待这么多分钟后运行它
          字段3:任务识别器,在日志文件中标识
          字段4:要执行的任务
          由/etc/cron.hourly/0anacron执行
          当执行任务时,更新/var/spool/anacron/cron.daily 文件的时间戳
sleep命令:休眠
          语法:sleep NUMBER[SUFFIX]…
                    SUFFIX:
                              s: 秒, 默认
                              m: 分
                              h: 小时
                              d: 天
          主要用于写在脚本里每多长时间执行一次命令,或等待前面运行程序过程
总结
          一次性作业使用at,重复性作业使用crontab
          没有被重定向的输出会被邮寄给用户
          根用户能够修改其他用户的作业
          对于cron任务来说,%有特殊用途;如果在命令中要使用%,需要转义或使用单引号括起来
          系统计划任务写在配置文件里只能cat /etc/crontab 查看
          cronteab -l命令只能查看使用-e 选项创建的计划任务
          相当于cat /var/spool/cron/

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97617

(0)
简单不简单简单不简单
上一篇 2018-05-06
下一篇 2018-05-06

相关推荐

  • 软件包管理 2 —–基本知识 rpm yum

    rpm库文件查看二进制程序所依赖的库文件ldd /PATH/TO/BINARY_FILE管理及查看本机装载的库文件ldconfig 加载库文件/sbin/ldconfig -p:显示本机已经缓存的所有可用库文件名及文件路径映射关系配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf缓存文件:/etc/ld.so.cac…

    Linux笔记 2018-04-22
  • linux权限管理命令

    date -s “2018-4-3”

    2018-04-03
  • 第七周作业

    1、简述linux操作系统启动流程
    2、简述grub启动引导程序配置及命令行接口详解
    3、实现kickstart文件制作与光盘镜像制作

    Linux笔记 2018-06-22
  • Varnish简介与实践

    Varnish简介与实践

    2018-07-24
  • 第七周作业

      1、创建一个10G分区,并格式为ext4文件系统;  (1) 要求其block大小为2048, 预留空间百分比为2,   卷标为MYDATA, 默认挂载属性包含acl;  (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 1.创建分区/dev/sdb1,容量为10G fdisk /dev/sdb…

    2018-05-02
  • N31第六周作业

    本周(7.23–7.29)第六周 1、简述osi七层模型和TCP/IP五层模型 OSI 七层模型 1、应用层:OSI 参考模型中最靠近用户的一层,为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。 2、表示层:提供各种用于应用层数据的编码和转换功能,确保一个…

    Linux笔记 2018-08-01