nohup
命令用于在后台运行程序,使其在用户退出登录后继续运行。要在 nohup
命令中实现定时任务,你可以结合使用 cron
任务调度器。以下是如何实现的步骤:
my_script.sh
的脚本:#!/bin/bash
echo "Hello, World! This is a timed task."
确保脚本具有可执行权限:
chmod +x my_script.sh
nohup
运行脚本。在命令行中输入以下命令,将脚本放入后台运行,并将输出重定向到名为 output.log
的文件:nohup ./my_script.sh > output.log 2>&1 &
cron
任务。使用 crontab -e
命令编辑当前用户的 cron
配置文件。在文件末尾添加一行,表示定时任务的执行时间。例如,每天凌晨 1 点运行脚本:0 1 * * * /path/to/your/script/my_script.sh >> /path/to/output.log 2>&1
这里的 0 1 * * *
表示定时任务的时间设置,具体含义如下:
cron
配置文件。现在,你的定时任务已经设置好了。cron
将根据指定的时间运行脚本,并将输出追加到 output.log
文件中。注意:如果你的脚本需要使用 nohup
命令的特性(例如,在用户退出登录后继续运行),请确保在 cron
任务中包含 nohup
命令和输出重定向。