(슈퍼)유저가 서비스를 처리하면서 발생하는 문제

(슈퍼)유저가 서비스를 처리하면서 발생하는 문제

헤드리스 우분투 서버 14.04. Dropbox를 설치했습니다(여기에 설명된 대로).http://ubuntuserverguide.com/2012/06/how-to-install-and-configure-dropbox-on-ubuntu-server-12-04.html) 부팅 시 시작되도록 init.d에 스크립트를 추가합니다. ### BEGIN INIT INFO [...] ### END INIT INFO 콘텐츠를 파일에 추가해야 한다는 사실을 알기 전까지 처음에는 몇 가지 문제가 있었습니다. 그래도...

이제 부팅 시 시작됩니다.

myuser@unas14:~$ service dropbox status
dropboxd for USER myuser: running (pid 14108)

하지만 Dropbox 폴더의 파일은 여전히 ​​동기화되지 않습니다. 루트로 서비스 명령을 실행해 보았습니다.

myuser@unas14:~$ sudo service dropbox status
[sudo] password for myuser:
dropboxd for USER myuser: not running.

그런 다음 공식 Python 스크립트를 실행하십시오(여기에서).https://www.dropbox.com/download?dl=packages/dropbox.py)

myuser@unas14:~$ ./dropbox.py status
Dropbox isn't running!
myuser@unas14:~$ ./dropbox.py start
Starting Dropbox...Dropbox isn't running!
Done!
myuser@unas14:~$ ./dropbox.py status
Starting...
myuser@unas14:~$ sudo service dropbox status
dropboxd for USER myuser: running (pid 14272)

그러면 제가 아닌 다른 사용자를 위해 Dropbox가 실행되고 있는 것 같은데, 여전히 내 사용자를 위해 실행 중이라고 나오나요? 정말 혼란스러워요. Dropbox를 수동으로 시작하면 모든 것이 잘 작동합니다. 물론 다음 재부팅 때까지 수동으로 다시 시작해야 합니다.

어떤 피드백이라도 환영합니다. 미리 감사드립니다. :)

John Smith에게 답장: (댓글에 코드 형식을 사용할 수 없기 때문입니다)

myuser@unas14:~$ ps -ef|grep dropbox
myuser      1896  1837  0 12:25 pts/0    00:00:00 grep --color=auto dropbox
myuser@unas14:~$ ./dropbox.py start
Starting Dropbox...Dropbox isn't running!
Done!
myuser@unas14:~$ ps -ef|grep dropbox
myuser      2246     1 82 12:49 ?        00:00:04 /home/myuser/.dropbox-dist/dropbox-lnx.x86-2.10.52/dropbox
myuser      2276  1837  0 12:49 pts/0    00:00:00 grep --color=auto dropbox

이것은 내 초기화 스크립트입니다.

#! /bin/sh
#
# init script for the dynamic DNS service update utility: dropbox

### BEGIN INIT INFO
# Provides:          dropbox
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: sync dropbox files
### END INIT INFO

#  dropbox service
# Replace with linux users you want to run Dropbox clients for
DROPBOX_USERS="myuser"

DAEMON=/home/myuser/.dropbox-dist/dropbox
start() {
 echo "Starting dropbox..."
 for dbuser in $DROPBOX_USERS; do
 HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
 if [ -x $HOMEDIR/$DAEMON ]; then
 HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $HOMEDIR/$DAEMON
 fi
 done
}

stop() {
 echo "Stopping dropbox..."
 for dbuser in $DROPBOX_USERS; do
 HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
 if [ -x $HOMEDIR/$DAEMON ]; then
 start-stop-daemon -o -c $dbuser -K -u $dbuser -x $HOMEDIR/$DAEMON
 fi
 done
}

status() {
 for dbuser in $DROPBOX_USERS; do
 dbpid=`pgrep -u $dbuser dropbox`
 if [ -z $dbpid ] ; then
 echo "dropboxd for USER $dbuser: not running."
 else
 echo "dropboxd for USER $dbuser: running (pid $dbpid)"
 fi
 done
}

case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart|reload|force-reload)
 stop
 start
 ;;
 status)
 status
 ;;
 *)
 echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}"
 exit 1
 esac

exit 0

관련 정보