bash - 在终端中使用 crontab 重新启动后继续执行脚本
问题描述
我有一个 bash 脚本来在 linux 中安装一些东西。安装脚本需要以 root 身份运行。安装过程会重新启动两次,并在每次重新启动后继续。
我设法操纵 crontab 来添加/删除作业以使其正常工作。但是,我希望通知用户安装脚本是否完成,以便他/她可以等到最后一次重新启动完成。
我能想到的唯一解决方案是在打开的终端中运行 crontab 作业,这样用户就可以看到安装仍在进行中。
问题1:这是一个好的解决方案吗?有什么选择吗?
问题 2:如果解决方案很好,我如何确保打开终端并在该终端中运行 crontab 作业?
解决方案
Cron 作业在没有任何附加终端的情况下执行。您必须在您的 cron 脚本中创建一个,并将脚本命令的所有输出重定向到它。也许最简单的选择是将脚本的输出重定向到一个日志文件,然后打开一个终端tail -f <logfile>
。然后,您可以在脚本完成后终止终端。如果您使用的是 xterm(例如),您可以使用xterm -e "tail -f logfile.txt"
.
推荐阅读
- google-bigquery - BigQuery 超出 CPU 限制
- android - 如何使用 webview 按键事件?
- mutex - 互斥锁和解锁序列
- ios - APN 的设备/应用程序令牌是否需要在服务器端加密?
- python - 如何在一个视图中处理来自两种形式的数据?
- javascript - 如何根据 useState 中设置的值显示下拉选项?- 反应和材料用户界面
- ios - 选择按钮时如何在测验中检查答案
- node.js - 使用 Node-JS npm 库读取 SSH 配置文件并登录到服务器
- java - 创建提取 JARS 文件的 Maven 程序集
- python - 使用 groupby pandas 按列排序