服务和计划任务管理


服务和计划任务管理

服务和计划任务管理 1

1. 服务控制(以Apache为例) 2

2. 报错解决 7

3. 计划任务 8

服务控制(以Apache为例)

常见的服务

acpid 电源管理接口

anacron 系统定时任务程序。cron的一个子系统,如果定时任务错过了时间,就可以通过anacron唤醒

alsasound Alsa声卡驱动

atd 一次性计划任务

...

rpm包服务启动方法(以apache为例)

服务设置命令

启动服务:systemctl start httpd

关闭服务:systemctl stop httpd

重启服务:systemctl restart httpd

平滑重启:systemctl reload httpd

reload (重新加载),reload会重新加载配置文件,服务不会中断。而且reload时会测试conf语法等,如果出错会rollback用上一次正确配置文件保持正常运行。也叫平滑重启,不会对已经连接的服务造成影响。
restart (重启)(先stop后start),会重启服务。这个重启会造成服务一瞬间的中断,如果配置文件出错会导致服务启动失败,那就是更长时间的服务中断了。

关闭服务开机自启动 systemctl disable httpd

服务和计划任务管理

设置服务开机自启动 systemctl enable httpd

查看命令

查看服务状态:systemctl status httpd

服务和计划任务管理

查看服务是否开机自启动 systemctl is-enabled httpd

服务和计划任务管理

列出所有服务

systemctl list-unit-files

服务和计划任务管理

ntsysv 进入字符界面设置自启动服务

源码包服务启动方法(以nginx为例)

经过解包、配置、编译、安装之后需要进入源码包目录开启服务

/usr/local/nginx/sbin/ngix 开启nginx

usr/local/nginx/sbin/nginx -s stop 关闭nginx

查找服务:

查看进程:ps aux | grep nginx

查看端口号 netstat -anupt | grep :80

如果想要让源码包被服务管理(systemctl systemctl list-unit-files ntsysv)识别,做一个链接 ln -s /usr/local/nginx/sbin/nginx /etc/init.d/nginx即可 chkconfig --add nginx 加入ntsysv(不推荐)???版本更新有改动

修改后:(亲测有效)

vim /usr/lib/systemd/system/nginx.service

复制进去

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

如果想让源码包开机自启动,需要写入 vim /etc/rc.d/rc.local 加入/usr/local/nginx/sbin/nginx (记住加执行权限)

报错解决

制造错误:修改配置文件:vim /etc/httpd/conf/httpd.conf

重启服务:显示报错

服务和计划任务管理

httpd服务失败了,因为有错误代码,通过systectl status httpd.service或者journal -xe看系统日志来查看错误的具体信息

服务和计划任务管理

根据提示进入状态查看

AH00526: Syntax error on line 31 of /etc/httpd/conf/httpd.conf:

5月 26 12:16:21 localhost.localdomain httpd[7681]: Invalid command 'erverRoot', perhaps misspelled or defined by a module not included in the server configuration

从这两句可以看出问题出在/etc/httpd/conf/httpd.conf内容中的第31行,因为错误的命令“erverRoot”可能是因为拼写错误或者定义了一个系统没有包含的模块

计划任务

日期:

date:显示当前时间

一次性计划任务(atd)

命令

下载包,启动服务

yum -y install at
systemctl start atd

at 时间 创建一次性任务

服务和计划任务管理

服务和计划任务管理

流程 :at 时间 输入任务命令 ctrl+d退出计划 atq列出系统中一次性任务

at 12:00 在12点执行任务

at now +2 minutes 两分钟之后执行任务

服务和计划任务管理

atq 查看任务并显示代号

at -c 任务编号 查看具体工作任务

atrm 任务编号 取消一次性计划任务

服务和计划任务管理

周期性计划任务

crond命令

vim /etc/crontab 查看规定

服务和计划任务管理

可知时间规定顺序为 一小时的第几分(0-59) 一天中的第几个小时(0-23) 一个月中的第几号(1-31) 一年中的第几月(1-12) 一周中的第几天(1-7)

基本命令

crontab -e 编辑计划
crontab -l 列出计划

服务和计划任务管理

crontab -r 删除所有计划

命令格式:分 时 日 月 周 命令

注意:1时间选项不能为空 2crontab没有分钟 3日期和星期最好不要重叠 4命令写绝对路径
基本命令格式(crontab -e之后)

服务和计划任务管理

表示5月26日16点30分 周五 删除
选项
* 代表任意

服务和计划任务管理


周几任意,一年一次

,代表不连续范围

服务和计划任务管理


每年 1 3 5 月都执行

- 代表范围内时间都执行

服务和计划任务管理


代表1-5月每个月都执行(类似于1,2,3,4,5)

/ 每隔多久执行一次

服务和计划任务管理


表示每隔2小时执行一次

服务和计划任务管理


表示0-12点每隔2小时执行一次

常用的时间搭配
每五分钟执行 */5 * * * *
每五小时执行 0 */5 * * *
每天执行 0 0 * * *
每周执行 0 0 * * 0
每月执行 0 0 1 * *
每年执行 0 0 1 1 *
每个月的第一个周一 0 0 1-7 * 1

用配置文件配置(可以手工指定普通用户)

方法1:直接将脚本写入 /etc/cron.hourly(.daily.weekly.monthly)中任意一个

方法2:vim /etc/crontab

例如写入 * * * * * root run-parts /root/cron 让系统每分钟都以root的身份调用/root/cron下的脚本,然后在/root/cron下写一个脚本叫做add.sh echo "111111111" >> /root/add.log,修改add.sh权限后可以使用

服务和计划任务管理

anacron检查任务

目录在/var/spool/mail/root中

发布者:LJH,转发请注明出处:https://www.ljh.cool/35630.html

(0)
上一篇 2023年4月20日 上午1:46
下一篇 2023年4月20日 上午1:48

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注