centos

centos定时器如何脚本调用

小樊
37
2025-10-17 19:29:28
栏目: 智能运维

在CentOS中,你可以使用systemd定时器(timer)来调度和执行脚本。以下是如何创建一个systemd定时器来调用脚本的步骤:

  1. 编写脚本: 首先,确保你的脚本具有可执行权限,并且路径正确。例如,假设你的脚本名为my_script.sh,并且位于/usr/local/bin/目录下。

    #!/bin/bash
    echo "Hello, World! The script ran at $(date)" >> /var/log/my_script.log
    

    确保脚本具有可执行权限:

    chmod +x /usr/local/bin/my_script.sh
    
  2. 创建服务单元文件: 创建一个服务单元文件来定义如何运行你的脚本。例如,创建一个名为my_script.service的文件:

    [Unit]
    Description=Run my script
    
    [Service]
    ExecStart=/usr/local/bin/my_script.sh
    

    将这个文件保存到/etc/systemd/system/目录下:

    sudo cp my_script.service /etc/systemd/system/
    
  3. 重新加载systemd配置: 重新加载systemd配置以识别新的服务单元文件:

    sudo systemctl daemon-reload
    
  4. 创建定时器单元文件: 创建一个定时器单元文件来定义定时任务的调度。例如,创建一个名为my_script.timer的文件:

    [Unit]
    Description=Run my script every hour
    
    [Timer]
    OnCalendar=*-*-* *:00:00
    Persistent=true
    
    [Install]
    WantedBy=timers.target
    

    这个定时器配置为每小时运行一次脚本。你可以根据需要调整OnCalendar字段来设置不同的调度时间。

    将这个文件保存到/etc/systemd/system/目录下:

    sudo cp my_script.timer /etc/systemd/system/
    
  5. 启动并启用定时器: 启动定时器并设置为开机自启:

    sudo systemctl start my_script.timer
    sudo systemctl enable my_script.timer
    
  6. 检查定时器状态: 检查定时器的状态以确保它正在运行:

    sudo systemctl status my_script.timer
    

    你也可以查看日志以确认脚本是否按预期运行:

    journalctl -u my_script.service
    

通过以上步骤,你就可以在CentOS中使用systemd定时器来调度和执行脚本了。

0
看了该问题的人还看了