Linux 如何在Fedora 14机器启动时运行脚本
我有一个安装了Fedora 14的AWS AMI。我没有root访问权限,但我可以使用Linux 如何在Fedora 14机器启动时运行脚本,linux,bash,fedora,restart,Linux,Bash,Fedora,Restart,我有一个安装了Fedora 14的AWS AMI。我没有root访问权限,但我可以使用sudo做几乎任何事情。我有一个脚本,我想在机器启动时运行-myScript.sh 通过调用sudo/dir/dir/myScript.sh start调用此脚本。它还支持我经常使用的命令stop和status 启动时运行这样一个脚本的理想方式是什么?您有几种简单可用的机制: 两种最常见的机制: 添加一个文件。这看起来很简单,但确实将可以使用您提供的脚本的发行版限制在少数较新的发行版(Ubuntu、Google
sudo
做几乎任何事情。我有一个脚本,我想在机器启动时运行-myScript.sh
通过调用sudo/dir/dir/myScript.sh start
调用此脚本。它还支持我经常使用的命令stop
和status
启动时运行这样一个脚本的理想方式是什么?您有几种简单可用的机制: 两种最常见的机制: 添加一个文件。这看起来很简单,但确实将可以使用您提供的脚本的发行版限制在少数较新的发行版(Ubuntu、Google的Chrome发行版、Fedora,可能是RHEL?) 添加一个。init脚本更难编写,但在为系统管理员提供更多命令行参数方面具有更大的灵活性。它们几乎在任何地方都受到支持,甚至是将(部分或大部分)initscript切换到Upstart作业的发行版 我不经常看到它,与其说它是软件开发人员的选择,不如说它是系统管理员的选择,但您也可以使用system Vixie
cron(8)
工具在启动时启动程序
您可以在/etc/cron.d/*
中向系统crontab添加条目;Vixie cron支持@reboot
说明符,该说明符非常适合此任务
或者,您可以将条目添加到您自己的个人
crontab(5)
文件中;同样,Vixie cron的@reboot
也适用于用户,但您不能从crontab(5)
运行交互式sudo(8)
。如果您想使用自己的个人crontab(5)
文件,请参阅NOPASSWD
中的documentation,但是请注意,机器上的其他管理员可能不喜欢这个想法。我认为最简单、最通用的方法(尽管不如@sarnold的建议灵活)将/dir/dir/myScript.sh start
添加到/etc/rc.local。在所有其他启动脚本运行后,脚本将在引导时运行。sudo
访问通常意味着根访问,因为sudo
允许您以根用户身份运行命令。请注意,Fedora 16在默认情况下不再附带rc.local
,但我不确定。但是在哪里添加/放置那些脚本Upstart/sysv initscript难道不值得吗?@BleedingFingers:好主意。由于这个答案是书面的,systemd也已经出来,并改变了几个发行版的答案,这应该得到适当的解决。。。