라즈베리파이 /etc/rc.local의 첫 번째 명령만 작동합니다.

Hubert Lee@Google의 이미지

스크린샷에 올려놓은 것 처럼 SSD 마운트 까지는 잘 됩니다.

그런데 SSD 마운트 명령어 아래로는 전혀 작동을 하지 않습니다.

마운트 명령어 밑의 스크립트(startup.sh)의 내용은 다음과 같습니다.

#!/bin/bash
cd /home/pi
python3 co2.py &
rclone mount gsuite: /mnt/gsuite &
jupyter-notebook --notebook-dir=/home/pi/ --ip=192.168.0.4 --port=9999 --no-browser &

당연히 단독으로는 정상 작동합니다.

도저히 이해가 안갑니다. 이것 때문에 재부팅시 매번 스크립트를 수동으로 실행시켜줘야 하니

너무너무 번거롭기도 하구요...

도대체 왜 작동이 안되는지...

혼자 쓰는 서비스라 지금은 그냥 bashrc에 등록시켜서 배시 로그인이 될 때마다 중복으로 프로세스들이 켜집니다.

프로세스가 너무 많아지면 재부팅 시키구요.

아예 작동을 안하면 모를까 명령어 딱 하나만 작동을 하니 도무지 이유를 알 수가 없습니다.

도움 부탁드립니다..

ps. rc.local 활성화 시켰습니다.
ps1. 라즈베리파이 3b+ jessie lite 입니다.
ps2. 스크립트에 execute 권한 755로 주었습니다.
ps3. rc.local도 execute 권한 755로 주었습니다.

지금 rc.local의 status를 확인해보았습니다.

그런데 그냥 터미널에서 바로 작동할 때는 잘 작동되던 코드가

rc.local에서는 2번 스크린샷에 올린 것처럼 에러가 나네요.

도대체 왜 이런건가요? 부팅 순서 때문인가요?

고칠 방법은 없을까요?

File attachments: 
첨부파일 크기
Image icon rc.local 스크린샷673.24 KB
Image icon rc.local status에서 에러가 남.278.32 KB
drinkme의 이미지

wlan 환경인가요?
부팅시점에 아직 network이 연결 안된거는 아닌거구요?

Hubert Lee@Google의 이미지

유선랜에 연결되어 있습니다.
만약 네트워크가 연결된 이후에 스크립트가 실행되어서 그런거라면 네트워크가 연결된 후에 스크립트가 실행되도록 어떻게 바꿀 수 있을까요?

익명 사용자의 이미지

첨부하신 파일을보니, 파이썬 스크립트에서 mysql 연결에 이상이 있는것으로 보입니다.
스크립트 실행시 mysql이 실행되지 않거나, 아니면, python 스크립트가 virtualenv 환경에서 실행되어야 하는것은 아닌지요?