Обратная связь
+380(66)433-69-36 | |
+380(66)433-69-36 | |
+380(66)433-69-36 |
Последние статьи
- BitLocker с GUI под linux
- Ищем вирус elTest
- Работаем с бесплатным SSL сертификатом Letsencrypt с помощью certbot
- Синхронизация ресурсов с удаленного сервера локально
- Применение нестандартного SEO и статус 404
- MySQL синхронизируем права с разных серверов
- IPSec VPN соединение между офисами.
- "Зеркало" сайта на стороне. Донастраиваем nginx
- Дефрагментация таблиц всех баз MySQL
- Месяц в родительном падеже strftime PHP
- INIT скрипт для Dropbox
- osCommerce VAM Edition 226. Ошибки
- PositiveSSL порядок сертификатов
- osCommerce. Создаем модуль доставки
- Восстановление mySQL баз данных
- osCommerce.Перенос магазина в другой домен
- osCommerce.Прячем адмику
- osCommerce. Продление жизни сессий
- osCommerce. Создаем платежный модуль
- 10 причин выбрать нас
- GRUB2 восстановление
- osCommerce не пересчитывает общую сумму заказа
- Список потенциально опасных скриптов
- Отправка файлов из Dropbox по e-mail
- "Черный список" почтовых доменов
- Боремся с назойливыми иностранцами
- Яндекс-Диск, и стоит ли им пользоваться.
- Обновление модуля Интеркассы для osCommerce
- Веб-почта на сайте хостинга
- Подключение Outlook Express к хостингу
Главная Статьи Linux(Debian) INIT скрипт для Dropbox
INIT скрипт для Dropbox
Для запуска Dropbox в системе обычно применяется пользовательский скрипт dropbox.py. Но если есть необходимость на одном сервере запускать Dropbox для множества пользователей, то есть смысл автоматизировать этот процесс. В сети можно найти множество сриптов для запуска Dropbox-а в качестве демона из init.d каталога. Есть одна сложность - они не всегда корректно работают. Ниже предлагается готовый скрипт для Debian или Ubunty. В скрипте в переменной DROPBOX_USERS через пробел нужно прописать пользователей, для которых он должен запускаться автоматически при запуске системы.
#! /bin/sh
### BEGIN INIT INFO
# Provides: dropbox
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Dropbox daemon
# Description: Starts the Dropbox daemon.
# See http://www.dropbox.com for more details.
### END INIT INFO
# Author of the modified script: Jan Jamsek
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Dropbox Daemon"
NAME=dropbox
DROPBOX_USERS=""
DAEMON=.dropbox-dist/dropboxd
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
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
if [ -x $HOMEDIR/dropbox.py ];then
echo "Do real stop"
/bin/su -c "$HOMEDIR/dropbox.py stop" -s /bin/bash $dbuser
fi
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)"
HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
if [ -x $HOMEDIR/dropbox.py ];then
/bin/su -c "$HOMEDIR/dropbox.py status" -s /bin/bash $dbuser
fi
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
### BEGIN INIT INFO
# Provides: dropbox
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Dropbox daemon
# Description: Starts the Dropbox daemon.
# See http://www.dropbox.com for more details.
### END INIT INFO
# Author of the modified script: Jan Jamsek
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Dropbox Daemon"
NAME=dropbox
DROPBOX_USERS=""
DAEMON=.dropbox-dist/dropboxd
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
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
if [ -x $HOMEDIR/dropbox.py ];then
echo "Do real stop"
/bin/su -c "$HOMEDIR/dropbox.py stop" -s /bin/bash $dbuser
fi
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)"
HOMEDIR=`getent passwd $dbuser | cut -d: -f6`
if [ -x $HOMEDIR/dropbox.py ];then
/bin/su -c "$HOMEDIR/dropbox.py status" -s /bin/bash $dbuser
fi
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