Linux进阶——例行性工作
一、rhce学习内容:
服务器:拥有特定服务的机器,服务可以服务很多人,用户主动找服务器提供服务,安装特定软件。
web服务:www.baidu.com 软件:httpd,nginx
服务器服务: 软件:mysql,mariadb
dns域名解析服务 软件:bind
学习任务一:rhce:服务的管理
用户:打开客户端软件
服务器:服务端软件:提前设置好的一些规则(写配置文件)自动的提供服务
(1)服务端安装软件:yum/dnf
(2)修改该软件的配置文件[普通文件]:vim echo > >> /etc
(3)运行软件:systemctl start/restart/stop/enable/disable 服务名称
(4)客户端主机(windows,linux)安装客户端软件进行访问测试:防火墙
学习任务二:rhce:shell脚本编程:自动化管理Linux主机
Linux的命令去管理Linux的服务
二、例行性工作:
单一执行的例行性工作at 循环执行的例行性工作crontab -e
1、单一执行的例行性工作
仅处理执行一次就结束了
at命令的工作过程:用户输入at命令制定任务,该命令会被存储为一个任务文件,而系统会有一个专门的程序读取任务文件去执行。
/etc/at.allow #写在该文件的人可以使用at命令
/etc/at.deny #黑名单
一般只存在一个,如果两个文件都不存在那么只有root用户可以使用
命令格式:at [参数] [时间]
实例:
at 13:49 #进入at窗口,输入指定时间所要执行的语句,写完成后按住ctrl+D保存
会在/var/spool/at下生成一个工作文件,当时间到了,系统会执行这个
工作文件中的内容。当执行完成后会自动删除工作文件。可以查看日志
tail -f /var/log/cron
at -c jobID #查看指定工作的内容
at -f 文件名 now +1 minutes #一分钟后使用文件中写的内容
at指定的任务只执行一次,由atd程序来监管任务
2、循环执行的例行性工作
每隔一定周期就需要执行一次
/etc/cron.allow #写在这个文件中的人可以使用crontab命令
/etc/cron.deny #黑名单
如果两个文件都不存在,则只有root用户可以使用。
systemctl status crond #查看crontab的工作状态
ll /var/log/cron #查看crontab的工作日志
ll /var/spool/cron #查看用户定义的计划任务的文件所在目录
计划任务的时间格式:
注意:日期和星期是或的关系。
选项:
实例:
crontab -e #调用vim去编辑工作文件
13 0 1 * 5 cp /var/log/cron /backup/cron.log
#每月的一号和每周的周五de12:13分会将cron日志文件复制一份,存在/backup/cron.log中
*/2 12 * * * touch /root/test #每天的12点每隔两分钟执行一次后面的命令
* 1,3 * * * touch /root/test #每天的1点和3点每一分钟就执行一次后面的命令
* 1-3 * * * touch /root/test #每天的1点到3点每一分钟就执行一次后面的命令
touch /root/test #如果文件存在则将修改时间戳
tail -f /var/log/cron #查看cron的日志文件
date +%H:%M #输出当前的时间,只输出时分
touch /root/file-`date +%H:%M` #新建文件并且文件名后加上创建时间
crontab -e 进入cron工作目录
* 11 * 2 * touch /root/file-`date +\%H:\%M` #二月的每天的11点每分钟都会执行touch /root/file-`date +\%H:\%M`,即每分钟会生成一个由时间后缀的文件
注:在crontab中%也有其特殊的含义,所以要在前面加一个转义符/
watch -n 30 ls -l /root/log #每三十秒刷新查看文件夹内容
多个命令中间用分号;隔开