一、自定义系统服务
在根目录创建一个shell脚本
脚本内容为下:
创建Service单元文件
进入到/etc/systemd/system目录中创建一个叫display-manager.service的文件。
创建后进入并编辑以下内容
设置enforce
由于有些系统以上设置完成服务无法启动,所以我们可以将enforce设置为0。这样我们就能将date服务启动起来。
输入setenforce 0更改设置
setenforce 0
输入getenforce查看,出现Permissive就可以了。
启动服务
以上步骤完成后,我们就能启动服务了。
systemctl daemon-reload 输入该命令重载配置
systemctl start system_test.service 启动Service
systemctl status system_test.service 查看是否出现active
如果出现active表示该服务成功创建并启动了,如果没有成功请仔细检查上述步骤。
二·、使用cron命令安排周期性任务
cron命令是Linux系统中基于时间的任务调度器,分为系统任务调度和用户任务调度。它允许用户在指定的时间点或时间间隔内执行任务。cron命令的配置文件是/etc/crontab,而用户任务调度则通过crontab -e命令创建,存放在/var/spool/cron目录。cron服务每分钟都会检查这些文件或目录的变化,并自动载入内存,因此修改任务调度配置后无需重新启动cron服务。
首先编写脚本并赋予可执行权限
创建一个脚本
使用chmod命令赋予文件可执行权限
1、系统任务调度
系统任务调度主要涉及到的是系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。这些任务通常会在全局的配置文件中进行设置。通过编辑/etc/crontab文件来定义
编辑crontab文件并添加定时任务
使用vim编辑/etc/crontab文件,添加如下最后一行:
*/1 * * * * root /root/test_crond.sh 表示每分钟以root身份执行/root/test_crond.sh脚本
检查crond状态
输入systemctl status crond.service查看crond服务运行的状态
检查文件
如定时任务完成,根据脚本设定内容将会每分钟往test_crond.txt文件里添加当前时间。
输入cat test_crond.txt查看
如上图所示,定时任务完成。
2.用户任务调度
用户任务调度主要涉及到的是用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。通过crontab -e命令创建。
在执行以下步骤前,删除系统任务调度在/etc/crontab文件中添加的内容
使用crontab命令编辑任务
使用crontab -e编辑定时任务
*/2 * * * * root /root/test_crond.sh表示每两分钟以当前用户身份执行/root/test_crond.sh脚本
输入crontab -l 可以查看当前已设置的定时任务
检查crond状态![](https://img-blog.csdnimg.cn/direct/973744f9bd01429ebd16d301ced6ec33.png)
检查文件
如定时任务完成,根据脚本设定内容将会每分钟往test_crond.txt文件里添加当前时间。
输入cat test_crond.txt 查看
如上图所示,定时任务完成。
三、at安排一次性任务
首先编写脚本并赋予可执行权限
使用chmod命令赋予文件可执行权限
使用at命令创建任务
1)输入at now +5 min回车表示在五分钟之后执行,
2)随后出现 at>提示符,输入. test_at.sh表示是执行test_at.sh脚本
3)按Ctrl+D退出,后面出现一行字,表示这个是任务序号为2,在这个时间执行。
输入atq可查看还未执行的任务
检查文件
输入cat test_at.txt查看文件是否有被添加9:42的时间