标签: init-script

关机前运行脚本似乎不起作用

我创建了一个小脚本backup_files.sh并将其放置在/etc/init.d

#/bin/sh
logfile=/media/verbatim/log
date >> $logfile
rsync -av /home/philipp/Documents /media/verbatim/ >> $logfile
Run Code Online (Sandbox Code Playgroud)

我希望在计算机重新启动或关闭时执行此脚本,因此我执行了以下操作:

sudo ln -s /etc/init.d/backup_files.sh /etc/rc0.d/backup_files.sh
sudo ln -s /etc/init.d/backup_files.sh /etc/rc6.d/backup_files.sh
Run Code Online (Sandbox Code Playgroud)

此外,我使脚本可执行:

sudo chmod +x /etc/init.d/backup_files.sh
Run Code Online (Sandbox Code Playgroud)

我“手动”尝试了脚本,它运行得很好。但是,如果我关闭或重新启动计算机,它显然不会执行。

有没有人看到我做错了什么?

注意:我使用的是 Xubuntu 11.10。

ubuntu init-script sysvinit

2
推荐指数
1
解决办法
4278
查看次数

为什么在引导脚本中使用 bash?

为什么在启动/关闭时运行的程序是用bash脚本编写的?

如果使用编译语言(或更快的解释语言,如 Python),那么它的运行时间会更短。

boot init-script

2
推荐指数
1
解决办法
532
查看次数

无需指定目录即可执行程序?

为什么我必须输入/etc/init.d/apache2 (args)才能运行 apache?

就没有办法apache2 args吗??

ubuntu init-script apache-httpd

2
推荐指数
2
解决办法
237
查看次数

systemd无法识别pid文件

所以我试图在启用 systemd 的系统上启动服务。服务名称是ossec-hids-authdossec(入侵检测软件)中的身份验证引擎(代理)。当我去启动 init 脚本然后 systemctl 超时并且在获取状态时我看到这个错误。

/etc/init.d/ossec-hids-authd status
? ossec-hids-authd.service - LSB: Authentication Daemon for OSSEC-HIDS.
   Loaded: loaded (/etc/rc.d/init.d/ossec-hids-authd; bad; vendor preset: disabled)
   Active: failed (Result: timeout) since Thu 2018-02-22 07:34:28 UTC; 11min ago
     Docs: man:systemd-sysv-generator(8)

Feb 22 07:24:11 ip-10-0-197-117.ec2.internal systemd[1]: Starting LSB: Authentication Daemon for OSSEC-HIDS....
Feb 22 07:24:11 ip-10-0-197-117.ec2.internal ossec-hids-authd[21142]: [39B blob data]
Feb 22 07:24:11 ip-10-0-197-117.ec2.internal systemd[1]: PID file /var/run/ossec-authd.pid not readable (yet?) after start.
Feb 22 07:24:11 ip-10-0-197-117.ec2.internal ossec-hids-authd[21142]: 2018/02/22 07:24:11 ossec-authd: INFO: …
Run Code Online (Sandbox Code Playgroud)

linux init-script systemd

2
推荐指数
1
解决办法
6891
查看次数

如何在 CentOS 7 上修改初始化脚本?

我有一个脚本/etc/init.d,我试图将echo语句添加到...但我的所有更改似乎都被忽略了。

我猜是因为脚本本身实际上并没有运行,而是systemd在幕后做一些事情来继续运行旧版本的脚本。有没有办法“加载”这些更改?

debugging init-script systemd

1
推荐指数
1
解决办法
1万
查看次数

使用不同的工作目录编写启动脚本

今年早些时候,我在我的树莓派上安装了 octoprint 来控制我的 3D 打印机。

我已经能够使用 octoprint 让 pi 同时控制 2 台打印机。我还添加了第二个摄像头(USB)来查看第二台打印机。我设法找到一种方法来启动第二个相机并编辑 octoprint 以查看两者之间的差异。

我唯一的问题是每次我再次启动树莓派时我都必须更改为不同的工作目录:

cd ~/mjpg-streamer
Run Code Online (Sandbox Code Playgroud)

然后启动第二个摄像头:

./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so -p 8090"&
Run Code Online (Sandbox Code Playgroud)

我希望能够编写一个脚本来在启动时启动相机,这样我就不必每天通过 ssh 到我的树莓派、登录并发送命令。我发现了很多有关编写启动脚本的信息,但没有发现有关更改其中的工作目录的信息。

我一直用它来编写启动脚本(不成功):

sudo nano /etc/init.d/startsecondcamera
Run Code Online (Sandbox Code Playgroud)

init-script cd-command sysvinit raspberry-pi camera

1
推荐指数
1
解决办法
1892
查看次数

systemd:在启动 nginx 之前完成自定义 shell 脚本的执行

使用 Debian 9 stable,我想在启动 NGINX 进程和 shorewall 防火墙之前启动自定义 shell 脚本:

\n\n
    \n
  • 做一些初始化工作
  • \n
  • 挂载一个目录(overlayfs)以覆盖/etcNGINX 配置、shorewall 配置和/etc/hosts
  • \n
  • 该脚本也以 结尾sync,不确定这是否是个好主意
  • \n
\n\n
\n

systemctl 列表依赖项
\n default.target
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80display-manager.service
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\ x94\x80systemd-update-utmp-runlevel.service
\n\xe2\x97\x8f\xe2\x94\x94\xe2\x94\x80multi-user.target
\n\xe2\x97\x8f\xe2\x94\x9c\ xe2\x94\x80console-setup.service
\n\xe2\x97\x8f\xe2\x94\x9c\xe2\x94\x80cron.service
\n\xe2\x97\x8f\xe2\x94\x9c\xe2\x94\ x80dbus.service
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80dropbear.service
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80myservice.service\xe2\ x80\x82\xe2\x80\x82\xe2\x80\x82<-- 我的服务(使用 systemctl 启用创建的链接)
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80networking.service
\ n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80nginx.service\xe2\x80\x82\xe2\x80\x82\xe2\x80\x82\xe2\x80\x82\xe2\x80\ x82\xe2\x80\x82\xe2\x80\x82<-- 在 myservice 之后执行
\n [...]
\n \xe2\x97\x8f \xe2\x94\x9c\xe2\x94\x80basic.target
\n \xe2\x97\x8f \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80-.mount
\n \xe2\x97\x8f \xe2\x94\x82 \xe2\x94\x9c\ xe2\x94\x80myservice.service\xe2\x80\x82<-- …

debian init-script systemd services nginx

1
推荐指数
1
解决办法
1625
查看次数

将命令添加到丢失的 /etc/init.d/rc.local 文件中

想添加命令

sudo mount -t vboxsf H_DRIVE /media/windows7share
Run Code Online (Sandbox Code Playgroud)

/etc/init.d/rc.local文件,每次系统启动时运行命令,但我rc.local在该文件夹中没有这样的文件 ( )。解决方法是什么?

fedora init-script

0
推荐指数
1
解决办法
4175
查看次数