BlackCrystal Asked: 2019-06-13 03:47:03 +0800 CST2019-06-13 03:47:03 +0800 CST 2019-06-13 03:47:03 +0800 CST 重启后恢复 Bash 脚本 772 我有一个 bash 脚本,它更改了操作系统和数据库中的一些配置,它需要重新启动,然后需要运行其他命令。像这样的东西: newvalue1= ip= . . some commands . . reboot . . some other commands 怎么做才能做到这一点? (堆栈交换上还有 2 个类似的问题,Q1和Q2,但很久以前就被问过了,用户不再主动向他们提问。我再次询问是否有新的想法和答案) bash shell-script 1 个回答 Voted Best Answer user147505 2019-06-13T04:59:50+08:002019-06-13T04:59:50+08:00 如果您可以修改脚本并且可以使用crontab,那么您可以使用@reboot时间crontab重新运行脚本。脚本的行为将是双重的,具体取决于它的调用方式。所以例如。如果它使用参数-sor运行--second-run,那么它将执行重启后的操作。在脚本中引入两个主要功能,例如first_run和second_run将有助于组织它。这是脚本的草图: 检查它的调用方式(带或不带-s参数)。 如果没有-s: a) 做最初的事情。 b) 将第二次运行添加@reboot到 crontab。 c) 重新启动。 如果有-s: a)做重启后的事情。 b) 从 crontab 中删除重新运行。
如果您可以修改脚本并且可以使用
crontab
,那么您可以使用@reboot
时间crontab
重新运行脚本。脚本的行为将是双重的,具体取决于它的调用方式。所以例如。如果它使用参数-s
or运行--second-run
,那么它将执行重启后的操作。在脚本中引入两个主要功能,例如first_run
和second_run
将有助于组织它。这是脚本的草图:-s
参数)。如果没有
-s
:a) 做最初的事情。
b) 将第二次运行添加
@reboot
到 crontab。c) 重新启动。
如果有
-s
:a)做重启后的事情。
b) 从 crontab 中删除重新运行。