我正在使用Fedora 20。我有一个两行 bash 脚本需要在启动结束时运行。我希望它在每次机器启动时自动运行。我怎样才能做到这一点?
我尝试“sudo crontab -e”来插入我的可执行脚本,但它总是给我错误,告诉我时间不对,无法修改文件。
您可以在/usr/lib/systemd/system/<service_name>.service中创建一个 Systemd 单元文件。这是一个模板:
[Unit]
Description=<description_string>
[Service]
WorkingDirectory=<working_directory>
Type=forking
ExecStart=/bin/bash <absolute_path_to_script>
KillMode=process
[Install]
WantedBy=multi-user.target
用您的具体信息替换尖括号中的任何内容。'WantedBy=multi-user.target' 是告诉 Systemd 在每次启动时运行脚本的魔法。
在命令行上,告诉 Systemd 启用您的服务:
systemctl enable <service_name>.service
下次重新启动脚本时应该运行。日志将写入 /var/log/messages。
Fedora 有一些关于单元文件的基本文档:Systemd 单元文件
查理的答案更好,但您仍然可以使用蒂亚戈的答案。
只是不要忘记如果要使用/etc/rc.local
方式,请在编辑后授予此文件的执行权限:
chmod +x /etc/rc.local