我想创建一个只在第一次启动时运行的脚本,而不是再次运行.我正在处理将在模板上转换的VM,因此我想确保我可以创建一个可以在服务器启动时自动运行的脚本.
我有一些线索,我可以在/etc/init.d/firstboot下放一个脚本,并使用chkconfig在rhel上进行(在Ubuntu上似乎不可用),但我需要在Ubuntu 14和16上进行,有任何想法吗? – 我可以假设如果我在/etc/init.d下放一个脚本,它会在启动时运行吗?
我一直在谷歌搜索,但我看到很多不同的东西.例如,我看到rhel有类似的东西:
/etc/init.d/yourscript: #!/bin/bash # chkconfig: 2345 9 20 # description: long description case "$1" in start) Do your thing !!! chkconfig yourscript off ;; stop|status|restart|reload|force-reload) # do nothing ;; esac
任何帮助深表感谢
您可以使用systemd启动脚本.写一个系统单位,如:
[Unit] Description=yourscript ConditionPathExists=/path/to/some/file [Service] Type=oneshot ExecStart=/path/to/yourscript [Install] WantedBy=multi-user.target
启用此单元后,只应在ConditionPathExists中的文件存在时启动.您可以编写脚本以在运行后删除该文件.检查systemd.unit还有更多此类检查,例如ConditionFileNotEmpty或ConditionDirectoryNotEmpty,它们也可以很方便.