調査員間でデータを処理および共有するために使用されるサーバーの管理者制御を継承しています。 Dropboxを使用していくつかのファイルを共有しようとしています。 Dropboxはサーバーを引き継いだときにインストールされたため、簡単な方法のように思えました。ただし、Dropboxを継続的に実行し続けることはできません。
XセッションでGUIを使用して、最初にアカウントをDropboxにリンクしました。 Dropbox CLIインターフェース(dropbox.py)とinit.dエントリを追加して、デーモンとして起動します。オンラインで見つけた多くの例の1つを使用しています(現在init.dスクリプトは this one =、実際のスクリプトについては以下を参照してください)。
service dropbox status
を呼び出してサーバーを再起動すると、サーバーが実行中であることを返しますが、dropbox.pyはそうではないことを示し、何も同期しません。 dropbox.pyの使用を手動で開始すると、すべてが同期しますが、Dropboxサービスは実行中でないと報告します。 service dropbox start
を介して手動で開始した場合、サービスは実行中でないと報告しますが、dropbox.pyは同期と報告します。ログインして修正するたびに、1〜2日はすべて正常に動作しているように見えますが、その後再び同期が停止します。
Init.dスクリプトを強制終了し、すべてのエントリを削除して再インストールしようとしました。コマンドラインからDropboxを再インストールしようとしました。私は問題が何であるかを理解することはできませんし、私が他の場所で見つけている例はすべて、サーバーがヘッドレスでのみ実行されていると仮定しています(そうではありません-複数のユーザーが主にリモートデスクトップ経由でそれにアクセスしています)。
DropboxがGUIログインで起動するかどうかは気にしません。ログインしているかどうかに関係なく、常にバックグラウンドで実行したいだけです。また、ログインした場合(CLIまたはXセッションのいずれか)に停止することは絶対に望ましくありません。最初に開始した方法に応じて、読み取りが行われます。
(Dropbox 2.10.3、x64、Ubuntu 12.04.5 LTS)
助言がありますか?
使用中のinit.d/dropboxスクリプト(ここの例ではダミーのユーザー名を使用しています):
#!/bin/sh
### BEGIN INIT INFO
# Provides: dropbox
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: false
# Short-Description: dropbox service
### END INIT INFO
# Replace with linux users you want to run Dropbox clients for
DROPBOX_USERS="my_user_name"
start() {
echo "Starting dropbox..."
for dbuser in $DROPBOX_USERS; do
HOMEDIR=$(getent passwd $dbuser | cut -d: -f6)
DAEMON=$(find $HOMEDIR/.dropbox-dist/dropbox-lnx.* -name dropboxd)
if [ -x $DAEMON ]; then
HOME="$HOMEDIR" start-stop-daemon -b -o -c $dbuser -S -u $dbuser -x $DAEMON -p "$HOMEDIR/.dropbox/dropbox.pid"
fi
done
}
stop() {
echo "Stopping dropbox..."
for dbuser in $DROPBOX_USERS; do
HOMEDIR=$(getent passwd $dbuser | cut -d: -f6)
DAEMON=$(find $HOMEDIR/.dropbox-dist/dropbox-lnx.* -name dropbox)
if [ -x $DAEMON ]; then
start-stop-daemon -o -c $dbuser -K -u $dbuser -x $DAEMON
fi
done
}
status() {
for dbuser in $DROPBOX_USERS; do
dbpid=`ps -u $dbuser -o pid,cmd | grep "$HOMEDIR"/"$DAEMON"\$ | awk '{ print \$1 }'`
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
http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-in-an-entirely-text-based-linux-environment のスクリプトを使用しています以前は動作していましたが、今日チェックすると動作していませんでした。
最終的に私はその行を見つけました
DAEMON = .dropbox-dist/dropbox
dAEMON = .dropbox-dist/dropboxdに変更する必要があります
今では動作します。