linux任务计划cron

cat /etc/crontab 配置文件

  • crontab -u -e//定义 -l -r

  • 格式:分 时 日 月 周 user command

  • 文件/var/spool/cron/username

  • 分范围0-59,时范围0-23,日范围0-31,月范围0-12,周1-6

  • 可用格式1-5表示一个范围1到5

  • 可用格式1,2,3,表示1或者2或者3

  • 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时

  • 要保证服务是启动状态

systemctl start crond  //启动服务
ps aux |grep cron   //查看进程,表示服务启动
#或者查看状态,显示绿色表示启动
systemctl stop crond  //停掉服务的命令
  • systemctl start crond.service

chkconfig工具

  • chkconfig --list //列出所有的服务来
  • chkconfig --level 3 network off
  • chkconfig --level 325 network off
  • chkconfig --del network
  • chkconfig --add network

systemd管理服务

  • systemctl list-units --all --type=service
  • 几个常用服务相关的命令
    • systemctl enable crond.service //让服务开机启动
    • systemctl disable crond //不让开机启动
    • systemctl status crond //查看状态
    • systemctl stop crond //停止服务
    • systemctl start crond //启动服务
    • systemctl restart crond //重启服务
    • systemctl is-enabled crond //检查服务是否开机启动

unit介绍

  • ls /usr/lib/systemd/system //系统所有unit,分为以下类型
  • service 系统服务
  • target 多个unit组成的组
  • device 硬件设备
  • mount 文件系统挂载点
  • automount 自动挂载点
  • path 文件或路径
  • scope 不是由systemd 启动的外部进程
  • slice 进程组
  • snapshot systemd快照
  • socket 进程间通信套接字
  • swap swap文件
  • timer 定时器
  • unit 相关的命令
  • systemctl list-units //列出正在运行的unit
  • systemctl list-units --all //列出所有,包括失败的或者inactive的
  • systemctl list-units --all --state=inactive //列出inactive的unit
  • systemctl list-units --type=service //列出状态为active的service
  • systemctl is-active crond.service //查看某个服务是否为active

target介绍

  • 系统为了方便管理用target来管理unit
  • systemctl list-unit-files --type=target
  • systemctl list-dependencies multi-usrt.target //查看指定target下面有哪些unit
  • systemctl get-default //查看系统默认的target
  • systemctl set-default multi-user.target
  • 一个service属于一种类型的unit
  • 多个unit组成了一个target
  • 一个target里面包含了多个service
  • cat /usr/lib/systemd/system/sshd.service //看[install]部分