计划任务及服务管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计划任务及服务管理相关的知识,希望对你有一定的参考价值。
Linux任务计划- 任务计划的配置文件及详解
[[email protected] ~]# cat /etc/crontab SHELL=/bin/bash ##定义bash PATH=/sbin:/bin:/usr/sbin:/usr/bin ##定义环境变量,命令的路径 MAILTO=root ##定义接受邮件的用户 # For details see man 4 crontabs # Example of job definition: # .---------------- minute (0 - 59) 分钟 # | .------------- hour (0 - 23) 小时 # | | .---------- day of month (1 - 31) 日期 # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 月份 # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat 星期,可以确定某一天的唯一性 # | | | | | # * * * * * user-name command to be executed 再加上用户和命令
- 制定任务计划的格式
- 分范围0-59,时范围0-23,日范围0-31,月范围0-12,周1-6
- 格式1,2,3表示1或者2或者3
- 格式*/2表示被2整除的数字,比如小时就是每隔2小时
[[email protected] ~]# crontab -e no crontab for root - using an empty one 0 3 * * * /bin/bash /usr/local/sbin/123.sh >/tmp/123.log 2>/tmp/123.log ##每天的三点,这里的命令要写绝对路径 0 3 1-10 */2 2,5 /bin/bash /usr/local/sbin/123.sh >/tmp/123.log 2>/tmp/123.log ##1-10号的3点,每两个月(双月),周2和周五
- 制定任务计划的条件
- 启动服务crond
[[email protected] ~]# systemctl start crond [[email protected] ~]# ps aux |grep crond root 587 0.0 0.0 126264 1644 ? Ss 08:40 0:00 /usr/sbin/crond -n root 1321 0.0 0.0 112680 984 pts/0 S+ 09:10 0:00 grep --color=auto crond [[email protected] ~]# systemctl status crond ● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since 六 2018-05-12 08:40:05 CST; 32min ago
- 遵照格式编写,命令要写绝对路径,要输出到日志文件
- crontab命令
- crontab -e编写任务计划
- crontab -r删除任务计划
- crontab -l查看任务计划
- crontab -u root -l指定用户
- /var/spool/cron/root任务计划的保存文件,用户名为用户的文件
[[email protected] ~]# crontab -e crontab: installing new crontab [[email protected] ~]# crontab -l 1 10 * 2 * /usr/bin/find /tmp/ -type f -mtime +100 |xargs rm -f [[email protected] ~]# cat /var/spool/cron/root 1 10 * 2 * /usr/bin/find /tmp/ -type f -mtime +100 |xargs rm -f [[email protected] ~]# crontab -r [[email protected] ~]# crontab -l -u root no crontab for root
系统服务管理chkconfig
- 启动服务crond
- 7以前的版本使用的,管理的服务称为SysV服务,7以后为systemd服务
[[email protected] ~]# chkconfig --list 注:该输出结果只显示 SysV 服务,并不包含 原生 systemd 服务。SysV 配置数据 可能被原生 systemd 配置覆盖。 要列出 systemd 服务,请执行 ‘systemctl list-unit-files‘。 查看在具体 target 启用的服务请执行 ‘systemctl list-dependencies [target]‘。 netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关 network 0:关 1:关 2:开 3:开 4:开 5:开 6:关
- 服务所在的目录
[[email protected] ~]# ls /etc/init.d/ functions netconsole network README
- chkconfig --list列出服务状态
- chkconfig network on 开启服务开机启动
- 开启的为默认级别启动
- chkconfig --level 345 network off指定级别
- 自定义启动脚本并开机启动
[[email protected] ~]# cp /etc/init.d/network /etc/init.d/123 [[email protected] ~]# ls /etc/init.d/ 123 functions netconsole network README [[email protected] ~]# chkconfig --add 123 [[email protected] ~]# chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
要列出 systemd 服务,请执行 ‘systemctl list-unit-files‘。
查看在具体 target 启用的服务请执行
‘systemctl list-dependencies [target]‘。
123 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network 0:关 1:关 2:开 3:关 4:关 5:关 6:关
- chkconfig --del 123删除服务
# 系统服务管理systemd
- 列出服务
- systemctl list-unit-files列出所有的服务及服务状态
- systemctl list-units --all --type=service列出所有service服务包括了未激活和激活的,去掉--all就不会列出未激活的
- 控制服务启动命令
-
以上是关于计划任务及服务管理的主要内容,如果未能解决你的问题,请参考以下文章