centos 定时任务
centos 定时任务
CentOS 多种方法设置定时任务
cron 服务
cron 是 Linux 和 Unix 系统上用于定时执行任务的工具
通过编辑 crontab 文件来设置定时任务
终端输入
crontab -e
命令来编辑当前用户的 crontab 文件
添加你的定时任务
每个任务占一行,格式如下:
* * * * * command_to_execute
前五个星号分别代表分钟(0-59)、小时(0-23)、一个月中的日期(1-31)、月份(1-12)和星期中的某天(0-7,其中0和7都代表星期日)
保存并关闭文件
使用 crontab -l 查看所有定时任务
0 16 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
30 * * * * wget -O index.html http://bbs.facesoho.com/
使用 at 命令
at 命令用于安排一次性任务在特定时间执行
终端输入
at 时间 来安排任务
如
at 13:00
在新打开的编辑器中输入你的命令
如
ls
按 Ctrl + D 保存并退出编辑器
使用 atq 查看待执行的任务列表
用 atrm 任务编号 取消任务
使用 systemd 的定时器(适用于较新的 CentOS 版本)
CentOS 7 开始
systemd 默认的初始化系统和服务管理器
用 systemd 的定时器功能来设置定时任务
步骤
创建一个定时器单元文件(例如 mytimer.timer)
[Unit]
Description=My Simple Timer
[Timer]
OnBootSec=1min # 系统启动后1分钟执行
OnUnitActiveSec=1min # 单位激活后1分钟执行
Unit=myscript.service # 要执行的服务的名称
[Install]
WantedBy=timers.target
创建服务单元文件(例如 myscript.service):
[Unit]
Description=My Simple Script Service
[Service]
ExecStart=/path/to/your/script.sh
脚本路径
将这两个文件放在 /etc/systemd/system/ 目录下。
启用并启动定时器
sudo systemctl enable mytimer.timer
sudo systemctl start mytimer.timer
检查状态
sudo systemctl status mytimer.timer