标签: init

记录脚本输出的初始化脚本

如何才能做到这一点?我知道这很简单,包括在启动 init 脚本的实际命令中附加类似&&>的内容。

但是,假设日志文件是 /var/log/customDaemon.log ,最好的方法是什么,如何确保 init 脚本自行分离?

这是我拥有的初始化脚本。我也不确定脚本中的方法是整洁的还是只是一个讨厌的黑客。

#!/bin/bash
#
# /etc/rc.d/init.d/customDaemon
#
# description: "The Daemon"
# processname: customDaemon
# pidfile: "/var/run/customDaemon.pid"

# Source function library.
. /etc/rc.d/init.d/functions

start() {
    echo "Starting customDaemon"
    /var/customDaemon &> /dev/null &
    return 1
}

stop() {
    echo "Stopping tweriod"
    prockill customDaemon   
    return 2
}

case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        stop
        start
    ;;
    reload)
        restart
    ;;
    status)
        status customDaemon
    ;;
    *)
        echo "Usage: customDaemon …
Run Code Online (Sandbox Code Playgroud)

linux log-files logging daemon init

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

在 cron 脚本中更改运行级别是否安全?

我想每晚将服务器 A 的“热克隆”“热克隆”到服务器 B。建议服务器 B 在此操作期间运行最少的守护进程,因此我想创建一个“最小”运行级别,它几乎只运行 sshd 并切换到/从该运行级别中间脚本中的运行级别,即:

# do some stuff ...

# take services down
telinit 2

# do backup ...

# bring services back up
telinit 3

# do post-backup stuff ...
Run Code Online (Sandbox Code Playgroud)

我想做一个运行级别切换,而不是显式启动/停止服务,这样我就可以在许多不同配置的机器上使用相同的脚本(不同的服务,一些在 systemv-init 上,一些在 systemd 上)。我想将其全部保存在一个脚本中以实现可维护性,而不是创建一堆新的 initd/systemd 启动/停止脚本。

所以问题的本质是: * telinit 会停止脚本吗(假设 cron 在两个运行级别中)?* telinit 是等待完成还是立即返回?* 如果上述工作是“安全的”,或者该方法是否存在潜在问题?* 是否有更好的方法可以使用单个脚本(同样,我更愿意避免安装一堆新的 init 脚本,因此这个东西在很大程度上是“独立的”和可移植的)

linux init

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

他们属于哪里?“ifconfig eth0 up”和“dhclient”

我有一个最小的 linux 安装。问题是为了访问网络我必须发出

ifconfig eth0 up
dhclient
Run Code Online (Sandbox Code Playgroud)

每次重启后。这些命令在日常 linux 系统上的规范位置在哪里?或者更确切地说,我应该把它们放在哪里?

linux init

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

Init.d 与 Cron - 使用哪个?

当(Debian Lenny)服务器启动时,我正在编写一个愚蠢的小脚本来向人们发送电子邮件。现在我已经使用 update-rc.d 将它设置为 init.d 脚本,但后来我意识到我可以使用 cron 作业来代替。对于这样的事情,使用 cron 作业还是 init.d 更好?

我还没有实际测试脚本是否在启动时运行,但它应该可以工作。还没有尝试重新启动,但潜在的问题是我们随机让服务器重新启动一次,然后又随机关闭/断电,所以我们想知道是电源故障还是其他原因。这至少会让我们知道服务器何时重新启动。

linux debian init cron

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

如何查看专用服务器上的 init 脚本输出?

我租了一台专用服务器,运行 Debian stable。您在屏幕上看到的启动输出(如果有的话)是否存储在任何地方?如果没有,是否有一种非侵入性的方式在下次重新启动后使该数据可用?或者你如何确保系统干净地启动?

debian init dedicated-server

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

Solaris:重启与初始化以进入单用户模式

我继承了在 Solaris 上进入单用户模式的指令,例如:

  1. 执行 reboot -- -s
  2. 挂载所有文件系统

我的问题是,为什么不这样做:

  1. init 1

有什么不同?

solaris init

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

init 不会杀死僵尸

我的系统上有一些僵尸进程。我已经杀死了那些僵尸的父级,希望 init 会接管并释放资源(CLOSE_WAIT 中有很多套接字)。但是 init 并没有从系统中删除这些进程:

#ps ax
...
17051 ?        Zl   8498:24 [impalad] <defunct>
...

# ps -o ppid= -p 17051
    1
Run Code Online (Sandbox Code Playgroud)

有没有办法不用重启就清除僵尸?

更新:

我试过了kill -s SIGCHLD 1。它没有帮助。

linux init zombie

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

我的 init.d 脚本从未使用 stop 参数调用?

我创建了一个名为 blueBoxT 的脚本来启动和停止 Oracle,并将其放置在 /etc/init.d 目录中。

#!/bin/bash
echo "blueBoxT $1 - `date '+%Y%m%d%H%M'`" >> /root/blueBoxT.log
case "$1" in
  'start')
    echo "Starting Oracle"
    su - oracle -c "/home/oracle/startDBT"
    ;;
  'stop')
    echo "Stopping Oracle"
    su - oracle -c "/home/oracle/stopDBT"
    ;;
  *)
    echo "`basename $0`: usage: `basename $0` { stop | start }"
    ;;
esac
exit 0
Run Code Online (Sandbox Code Playgroud)

我做了符号链接...

root@dev /etc/rc.d
# find . -name *blueBox*
./rc2.d/K11blueBox
./rc6.d/K11blueBox
./init.d/blueBoxT
./rc1.d/K11blueBox
./rc3.d/S97blueBox
./rc0.d/K11blueBox
./rc5.d/S97blueBox
./rc4.d/S97blueBox
Run Code Online (Sandbox Code Playgroud)

/root/blueBoxT.log 中的日志显示了启动命令并且 Oracle 实例已启动。

停止命令似乎永远不会被调用。它不在我的日志中。

root@dev /root
# cat blueBoxT.log …
Run Code Online (Sandbox Code Playgroud)

linux init init.d

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

从 bash shell 监视自定义 Java HTTP 服务器?

如何从 bash shell 监视服务端口?

我想监视 Java 服务(在端口 9090 上每分钟一次),然后如果该服务没有响应简单的 HTML 消息,则调用“/etc/init.d/myservice -restart”。

你会怎么做这样的事情?

我的想法是使用类似的东西:

wget -O - --no-check-certificate --progress=dot https://localhost:9090
Run Code Online (Sandbox Code Playgroud)

或者

curl --insecure https://localhost:9090
Run Code Online (Sandbox Code Playgroud)

linux bash init

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

使用 `grep` 检查 init 脚本中文件中是否存在字符串是否可以接受?

我可以grepinit脚本中检查给定字符串的文件内容吗?

我担心在涉及init脚本时引入依赖项和一般约定,以及运行grep或其他工具是否违反了某些信条。

linux service init init.d

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

标签 统计

init ×10

linux ×8

debian ×2

init.d ×2

bash ×1

cron ×1

daemon ×1

dedicated-server ×1

log-files ×1

logging ×1

service ×1

solaris ×1

zombie ×1