W8-C1-0511

八周一次课(5月11日)
10.23 linux任务计划cron
10.24 chkconfig工具
10.25 systemd管理服务
10.26 unit介绍
10.27 target介绍
扩展

  1. anacron http://blog.csdn.net/strikers1982/article/details/4787226
  2. xinetd服(默认机器没有安装这个服务,需要yum install xinetd安装) http://blog.sina.com.cn/s/blog_465bbe6b010000vi.html
  3. systemd自定义启动脚本 http://www.jb51.net/article/100457.htm

1. Linux任务计划

cat /etc/crontab

格式

分 时 日 月 周 command

范围

: 0-59
: 0-23
: 1-31
:1-12, 或英文jan, feb…
: 0-6 (周日=0或7), 或sun, mon…

在哪个用户下面,默认就是哪个用户

crontab -l
crontab -u root -l 指定用户
crontab -e

0 3 * * * /bin/bash /usr/local/sbin/123.sh >>/tmp/123.log 2>>/tmp/123.log
每天3点执行脚本并追加日志

0 */2 1-10 */2 2,5
每2小时, 1-10号, 双月, 周二和周五

年用星期确定唯一性, 今年与明年6.18的星期几是不一样的

查看状态和启动
systemctl start crond
systemctl status crond
ps aux | grep cron

脚本最好写绝对路径, 并追加日志.

cat /var/spool/cron/root
备份对应用户的cron文件

2. chkconfig工具

系统服务管理

chkconfig --list
只显示sysV服务, 不包含原生systemd服务. SysV 配置数据可能被原生 systemd 配置覆盖. 如想列出systemd服务, 执行systemctl list-unit-files

chkconfig network off
/etc/init.d`存放启动脚本

/etc/inittab 7以前系统更改运行级别

chkconfig --level 3 network off
chkconfig --level 345 network off

chkconfig --del network
chkconfig --add network

3. systemd管理服务

查看所有服务

systemctl list-units --all --type=service

常用命令

systemctl enable crond.service 让服务开机启动
systemctl disable crond 不开机启动
systemctl status crond 查看状态
systemctl start crond 停止服务
systemctl restart crond 启动服务
systemctl is-enabled crond 检查服务是否开机启动

4. 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
systemctl is-enable crond.service 查看服务是否为enable

5. target介绍

用target来管理unit

systemctl list-unit-files --type=target
systemctl list-dependencies multi-user.target 查看指定target下的unit
systemctl get-default 查看系统默认的target
systemctl set-default multi-user.target 设为默认target

service属于一种类型的unit
多个unit组成一个target
一个target包含多个service

cat /usr/lib/systemd/system/sshd.service [install]部分可看到属于哪个unit

未经允许不得转载:外贸SOHO笔记 » W8-C1-0511

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下作者~

支付宝扫一扫打赏

微信扫一扫打赏