首页 > 解决方案 > 在终端中使用 crontab 重新启动后继续执行脚本

问题描述

我有一个 bash 脚本来在 linux 中安装一些东西。安装脚本需要以 root 身份运行。安装过程会重新启动两次,并在每次重新启动后继续。

我设法操纵 crontab 来添加/删除作业以使其正常工作。但是,我希望通知用户安装脚本是否完成,以便他/她可以等到最后一次重新启动完成。

我能想到的唯一解决方案是在打开的终端中运行 crontab 作业,这样用户就可以看到安装仍在进行中。

问题1:这是一个好的解决方案吗?有什么选择吗?

问题 2:如果解决方案很好,我如何确保打开终端并在该终端中运行 crontab 作业?

标签: bashshellcronroot

解决方案


Cron 作业在没有任何附加终端的情况下执行。您必须在您的 cron 脚本中创建一个,并将脚本命令的所有输出重定向到它。也许最简单的选择是将脚本的输出重定向到一个日志文件,然后打开一个终端tail -f <logfile>。然后,您可以在脚本完成后终止终端。如果您使用的是 xterm(例如),您可以使用xterm -e "tail -f logfile.txt".


推荐阅读