/etc/init.d/
따라서 다음 초기화 정보가 포함된 bash 스크립트가 있습니다 .
### BEGIN INIT INFO
# Provides: minio server
# Required-Start: $local_fs $remote_fs $mysql $all
# Required-Stop: $remote_fs $syslog
# Default-Start: 5
# Default-Stop:
# Short-Description: Start minio server that were running during shutdown
# Description: Start minio server that were running during shutdown, wether unexpected or not
### END INIT INFO
이 스크립트를 실행하려면 mariadb가 필요하기 때문에 (제가 이해한 바에 따르면) 파일 헤더가 다음과 같기 때문에 mariadb가 시작되도록 해야 했지만 $mysql
필수 시작 에 넣었습니다 .$all
mysql
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network $named $time
# Should-Stop: $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database server daemon
# Description: Controls the main MariaDB database server daemon "mysqld"
# and its wrapper script "mysqld_safe".
### END INIT INFO
따라서 스크립트는 이 데몬이 실행 중인지 확인합니다.
for seconds in {1..60}
do
sleep 1
find_pid=$(ps 'aux'| grep "sql")
pid="${find_pid:5:25}"
stringarray=($pid)
pid=${stringarray[0]}
find_pid=$(ps 'aux'| grep "sql")
pid_two="${find_pid:5:25}"
stringarray=($pid_two)
pid_two=${stringarray[0]}
if [ $pid == $pid_two]; then
break
fi
done
if [[ $seconds == 60 ]]; then
echo "database not started yet" | tee -a /var/www/html/startup.log
fi
그러나 어떤 이유로 스크립트가 실행될 때 데이터베이스가 시작되지 않습니다. 이 문제를 해결하는 방법을 아는 사람이 있나요?
편집 : 나도 시도했다이것그런데 update-rc.d YOURAPP defaults
링크에 제시된 대로 실행한 후에도 스크립트를 실행하면 데이터베이스가 시작되지 않습니다.
답변1
저장하는 init.d
대신/etc/rc.local
예: /etc/rc.local을 연 다음
path_to_binary path_to_scipt