在CentOS中,systemd 提供了 timer 单元来安排定时任务。这些定时任务通常与 service 或 socket 单元一起使用,以便在特定时间或间隔执行某些操作。以下是如何在CentOS中使用 timer 的基本步骤:
mytask.service 的文件,并添加以下内容:[Unit]
Description=My Scheduled Task
[Service]
Type=oneshot
ExecStart=/usr/bin/echo "Hello, World!"
这个服务单元文件定义了一个简单的任务,它将在启动时打印 “Hello, World!”。
2. 创建一个定时器单元文件:
接下来,创建一个定时器单元文件,该文件定义了何时以及如何触发上述服务。例如,创建一个名为 mytask.timer 的文件,并添加以下内容:
[Unit]
Description=Run My Scheduled Task every hour
[Timer]
OnCalendar=*-*-* *:00:00
Persistent=true
[Install]
WantedBy=timers.target
这个定时器单元文件定义了一个每小时触发一次的任务。OnCalendar 指定了任务的触发时间,这里设置为每小时的第0分钟。Persistent=true 表示即使系统在定时器应该触发时处于关机状态,它也会在系统下次启动时立即触发。
3. 启用并启动定时器:
使用 systemctl 命令启用并启动定时器:
sudo systemctl enable --now mytask.timer
这将启用定时器并立即启动它。你也可以稍后使用 systemctl start mytask.timer 来启动它。
4. 检查定时器状态:
你可以使用 systemctl 命令来检查定时器的状态:
sudo systemctl status mytask.timer
这将显示定时器的当前状态,包括它是否已启用、最后一次触发时间以及下一次触发时间等信息。
以上就是在CentOS中使用 timer 的基本步骤。你可以根据自己的需求调整服务单元文件和定时器单元文件的内容,以执行更复杂的任务。