Я наследовался, административный контроль по серверу раньше обрабатывал и обменивался данными между следователями. Мы пытались использовать Dropbox для совместного использования некоторых файлов. Dropbox был установлен, когда я принял сервер, таким образом, он походил на легкий метод. Однако я не могу заставить Dropbox оставаться под управлением последовательно.
Я первоначально связал свою учетную запись с Dropbox с помощью GUI на X сессиях. Я добавил интерфейс cli Dropbox (dropbox.py) и init.d запись для запуска его как демон, с помощью одного из многих примеров, которые я нашел онлайн (в настоящее время init.d, сценарий смоделирован после этого, посмотрите ниже для фактического сценария).
Когда я перезагружаю вызов сервера service dropbox status
возвраты, которые это выполняет, но dropbox.py указывает это, не, и ничто не синхронизирует. Если я вручную начинаю использовать dropbox.py, все синхронизирует - но сервис Dropbox сообщает об этом как о не выполнении. Если я вручную запускаю через service dropbox start
, сервис сообщает о себе как не выполнение, но dropbox.py сообщает об этом как о синхронизации. Каждый раз, когда я вхожу в систему и фиксирую его, все, кажется, хорошо работает в течение дня или два, но затем это прекращает синхронизировать снова.
Я попытался уничтожить 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 , который работал ранее, но когда я проверяю сегодня, что он не работал.
В конечном счете я нашел что строка
ДЕМОН =. dropbox-dist/dropbox
было нужно изменение на ДЕМОНА =. dropbox-dist/dropboxd
Теперь это работает.