nohup
命令允许你在后台运行一个程序,即使你关闭了终端或断开了连接,该程序也会继续运行。但是,nohup
本身并不提供任务调度的功能。要实现任务调度,你可以结合使用 nohup
和 cron
。
以下是如何通过 nohup
和 cron
实现任务调度的步骤:
首先,编写一个你想要定期运行的脚本。例如,创建一个名为 my_script.sh
的脚本:
#!/bin/bash
echo "Hello, World! This is a scheduled task."
确保脚本有执行权限:
chmod +x my_script.sh
nohup
运行脚本使用 nohup
命令在后台运行脚本,并将输出重定向到一个文件中:
nohup ./my_script.sh > output.log 2>&1 &
这会将标准输出和标准错误都重定向到 output.log
文件,并且脚本会在后台运行。
cron
任务编辑用户的 crontab
文件来设置定时任务:
crontab -e
在打开的编辑器中,添加一行来定义任务的执行时间和命令。例如,如果你想每天的凌晨1点运行这个脚本:
0 1 * * * nohup /path/to/my_script.sh > /path/to/output.log 2>&1 &
这里的 0 1 * * *
表示每天的凌晨1点(1点0分)。你可以根据需要调整时间。
保存 crontab
文件并退出编辑器。cron
会自动加载新的任务。
你可以通过查看 output.log
文件来验证任务是否按预期运行:
tail -f /path/to/output.log
cron
,建议使用绝对路径来指定命令和文件。cron
日志和脚本输出,以确保任务正常运行。通过这种方式,你可以使用 nohup
和 cron
实现任务的定期调度和后台运行。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: 在Linux下使用ftpget时如何记录日志