Linux教程

linux计划任务与服务管理

本文主要是介绍linux计划任务与服务管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Object:linux计划任务与服务管理

 

#进程的启动方式
手工启动:
前台启动:用户输入命令,直接执行
后台启动:在输入命令尾部加入‘&’符号
#后台任务管理
jobs:查看处于后台的任务列表
fg:将处于后台的进程恢复到前台运行,需要指定任务序列号
调度启动:
#使用at命令,设置在某个特定的时间点,执行一次任务(一次性计划任务)
#使用crontab命令,设置按固定的周期(如每天,每周,每月等等)重复执行预先设计好的计划任务

详解一次性计划任务:
at命令:
格式:at [HH:MM] [yyyy-mm-dd]
在指定的日期,时间点自动执行预先设置好的一些命令操作
服务脚本:/etc/init.d/atd

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

 


#服务管理:
系统服务:某些服务对象是rhel系统自身或者说系统用户
网络服务:提供给网络客户端使用,如:web服务(http),ftp…………………………

#服务的管理:

rhel7中管理服务——systemd简介
主要管用管理系统启动和服务进程
可以在启动时和运行中的系统上激活资源,服务器守护进程和其他进程
#注:守护进程是在执行各种任务的后台等待或运行的进程(利用socket套接字进行之间通信)

服务通常指一个或多个守护进程


历史简述:
initd

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

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

这篇关于linux计划任务与服务管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!