linux学习笔记8:计划任务和服务管理

进程的启动方式

  • 手工启动:
    前台启动:用户输入命令,直接执行
    后台启动:在输入命令尾部加入‘&’符号
    jobs:查看处于后台的任务列表
    fg:将处于后台的进程恢复到前台运行,需要指定任务序列号
  • 调度启动:

    • 使用at命令,设置在某个特定的时间点,执行一次任务(一次性计划任务)
    • 服务脚本:/etc/init.d/atd

      at命令:
      格式:at [HH:MM] [yyyy-mm-dd]
      在指定的日期,时间点自动执行预先设置好的一些命令操作
      example:
      [root@localhost ~]# at 8:50
      at> echo 'hello World'<EOT> --此处可以写多个任务,最终按ctrl+D提交
      job 4 at Thu Aug 30 08:50:00 2018
      [root@localhost ~]# atq --查看计划任务列表,但不能查看具体信息
      4 Thu Aug 30 08:50:00 2018 a root

    • 使用crontab命令,设置按固定的周期(如每天,每周,每月等等)重复执行预先设计好的计划任务
    • 服务脚本:/etc/init.d/crond

      主要配置文件:
      全局配置文件:/etc/crontab
      用户定义的设置文件:/var/spool/cron/用户名
      管理cron计划任务:
      管理计划任务: crontab -e [-u username]
      查看计划任务: crontab -l [-u username]
      清空计划任务: crontab -r [-u username]

      注:root用户可以管理所有计划任务,普通用户只能管理自身的计划任务

crontab任务的配置:

        分钟      小时      日期      月份      星期      command

        分钟:取值为0-59之间的任意整数
        小时:取值为0-23之间的任意整数
        日期:取值为1-31之间的任意整数
        月份:取值为1-12之间的任意整数
        星期:取值为0-7之间的任意整数,0和7代表周天
        command:要执行的脚本或者命令
        example:
            50 6 * * *  echo '早上好主人~'

        #时间数值的特殊表示方法:
            *   代表该范围内的任意时间
            ,  代表间隔的多个不连续的时间范围 
            -   代表一个连续的时间范围
            /   代表间隔的时间频率

            example:
                周一到周五的每天下午五点半:   30 17  * *  1-5  command
                每周1,3,5的早上八点三十分:   30 8 * * 1,3,5   command
                8点到18点之间没隔2小时:      0  8-18/2  * * * command
                每隔三天:                   0 0  */3 * * command

    example:(一下例子用户均为root)
        1.每天早上7:50开启ssh服务,22:50关闭(systemctl start/stop sshd)
            50 07 * * *  systemctl start sshd
            50 22 * * *  systemctl stop sshd
        2.每周1,3,5的17:50打包备份/etc/httpd目录
            50 17 * * 1,3,5   tar -czvf  httpd.bak.gz  /etc/httpd
        3.每周六的早上7:30重启httpd服务
            30 7 * * 6    systemctl restart httpd
        4.用户natasha必须配置一个定时执行任务,每天在本地时间14:23时执行命令/bin/echo hana
            crontab     -e   -u  natasha
            23 14 * * *     /bin/echo  hana

服务(守护进程)

  • linux服务通常指一个或多个守护进程,守护进程是在执行各种任务的后台等待或运行的进程(利用socket套接字进行之间通信)
    • 系统服务:某些服务对象是系统自身或者说系统用户
    • 网络服务:提供给网络客户端使用,如:web服务(http),ftp…………………………
  • rhel7中管理服务—systemd:主要管用管理系统启动和服务进程,可以在启动时和运行中的系统上激活资源,服务器守护进程和其他进程

    systemd的特性:
    1.并行化功能,提高系统启动速度
    2.按需启动守护进程,而不需要单独的服务
    3.自动服务依赖关系管理可以防止长时间超时

  • systemctl与systemd单元
    systemctl命令用于管理各种类型的systemd对象,他们称之为单元
    systemctl -t help
    • 常见单元类型:
      .service扩展名 代表系统服务,这种单元主要用于启动经常访问的守护进程
      .socket扩展名 代表进程间通信的套接字
      .path拓展名 代表路径单元

#系统的运行级别:
每种运行级别代表特定的操作模式,分为七个级别,分别用数字0-6表示

         rhel7之前                                                   rhel7
    0   关机                                                          poweroff.target       关机
    1   单用户用户,主要用于系统修复            rescue.target         救援模式
    2   不完全的命令行模式,不包含NFS          multi-user.target   非图形界面的多用户方式
    3   完全命令行模式,标准字符界面           multi-user.target   非图形界面的多用户方式
    4   系统保留                                                  multi-user.target   非图形界面的多用户方式
    5   图形模式                                                  graphical.target    图形界面的多用户模式
    6   重启                                                       reboot.target       重启

linux服务的管理:

  • rhel6服务管理:
    命令:service
    格式:service 服务名 start/stop/restart/status
    #设置服务是否开机自启:
    命令:chkcongfig
    格式:chkconfig 服务名 on/off [--level 运行级别]
    查看服务随系统启动的状态:
    chkconfig --list [服务名]

  • rhel7服务管理(systemctl集成了service,chkconfig)

    • 格式: systemctl start/stop/status/restart/enable/disable 服务名

    表示服务状态的几个关键字:
    loaded:单元配置文件已经处理
    active(running): 服务运行正常
    active(exited): 已经成功完成一次性配置
    active(waiting): 运行中,但正在等待事件
    inactive:不在运行
    enabled:将在系统启动时自启
    disabled:不随系统开机自启
    ststic:无法启用,但是可以由某一启用的单元自动启动

    • 常用systemctl命令:
      查询所有单元状态:
      systemctl
      #查询服务单元状态:
      systemctl --type=service
      #查看任意服务单元状态
      systemctl status sshd -l
      #判断某个服务单元是否活动:
      systemctl is-active sshd
      systemctl is-enabled sshd
      #查看所有单元的已启用和已禁用设置,也可以选择单元类型:
      systemctl list-unit-files --type=service
      #仅仅查看失败的服务:
      systemctl --failed --type=service

转载于:https://blog.51cto.com/14083201/2345484

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值