nohup 命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行。要使用 nohup 实现定时任务,可以结合 cron 或其他调度工具来实现。
以下是使用 nohup 和 cron 实现定时任务的步骤:
my_script.sh 的 shell 脚本:#!/bin/bash
echo "Hello, World! This is my script running at $(date)"
确保脚本具有可执行权限:
chmod +x my_script.sh
nohup 运行脚本,并将输出重定向到日志文件。例如,每天的 1:00 AM 运行脚本:nohup ./my_script.sh > my_script_output.log 2>&1 &
这将在后台运行脚本,并将输出重定向到 my_script_output.log 文件。
cron 配置文件:crontab -e
cron 配置文件中添加一行,指定定时任务的时间和要执行的命令。例如,每天的 1:00 AM 运行脚本:0 1 * * * nohup /path/to/your/my_script.sh > /path/to/your/my_script_output.log 2>&1 &
保存并退出 cron 配置文件。现在,你的定时任务已经设置好了,将在指定的时间自动运行。
注意:请确保将 /path/to/your/my_script.sh 和 /path/to/your/my_script_output.log 替换为实际的脚本路径和日志文件路径。