我有一个脚本启动我的docker服务,并在系统重启时在RHEL7.3机器上启动我的容器。 有两种方法为我工作:1)添加脚本到rc.local 2)添加到crontab -e与我的脚本的path。
哪一个更适合我,因为两者都在工作?
Crontab是为了定期安排工作,而不是在系统启动时启动服务。 这样做意味着做错了。
使用rc.local好得多,但更好的是一个普通的systemd服务文件。
rc.local脚本具有在正常启动序列结束时运行的优点。 如果你最需要的一切开始rc.local是一个更好的地方。 rc.local的缺点是,如果它被用于太多的事情,它可能会迅速增长。
虽然cron为此工作,它可能不会做你想要的默认错误。 它的启动顺序也可能会随着系统的不同而有所不同。
序列和error handling的更好的控制可以通过编写你自己的systemd单元或init脚本来实现。 这就是我认为“正确”的方式,它比rc.local和cron都有很多优势。