Сам DropBox есть в дереве портажей, однако он какойто урезаный.
Например нет возможности выбрать директории для синка либо исключить директории из синхронизации. Есть альтернативный вариант, написанный на python но о нем не в этом посте.
Итак. Команда eix dropbox выдаст нам следующее:
О нем позже, ибо пока что не смог заставить его работать :)
Собираем пакет net-misc/dropbox
По умолчанию ставится в /opt/dropbox, это первое. Второе, в пакете НЕТ скрипта запуска демона, поэтому придется его писать самому. На сайте разработчика есть скрипт для генты, но он не для нашего случая. Их скрипт для версии dropbox, которая скачивается с их сайта и устанавливается вручную. На базе их скрипта я написал свой (листинг будет в конце поста), который позволяет запускать демона для конкретных пользователей, которые (к сожалению) задаются в самом скрипте запуска (лучше так, чем никак). Так же в скрипте есть переменные для вывода логов в /var/log/dropbox
Например нет возможности выбрать директории для синка либо исключить директории из синхронизации. Есть альтернативный вариант, написанный на python но о нем не в этом посте.
Итак. Команда eix dropbox выдаст нам следующее:
* net-misc/dropboxdropbox-cli -- интерфейс для доступа к демону dropbox
Available versions: 1.2.48-r1^ms ~1.2.51-r2^ms ~1.4.3-r1^ms ~1.4.7-r1^ms {{+librsync-bundled}}
Homepage: http://dropbox.com/
Description: Dropbox daemon (pretends to be GUI-less)
* net-misc/dropbox-cli
Available versions: ~1
Homepage: http://www.dropbox.com/
Description: Cli interface for dropbox daemon (python)
О нем позже, ибо пока что не смог заставить его работать :)
Собираем пакет net-misc/dropbox
По умолчанию ставится в /opt/dropbox, это первое. Второе, в пакете НЕТ скрипта запуска демона, поэтому придется его писать самому. На сайте разработчика есть скрипт для генты, но он не для нашего случая. Их скрипт для версии dropbox, которая скачивается с их сайта и устанавливается вручную. На базе их скрипта я написал свой (листинг будет в конце поста), который позволяет запускать демона для конкретных пользователей, которые (к сожалению) задаются в самом скрипте запуска (лучше так, чем никак). Так же в скрипте есть переменные для вывода логов в /var/log/dropbox
Листинг скрипта запуска и короткое объяснение что это и как настраивать:
Установка:
Копипастите нижеследующий скрипт либо качаете его с моего стайта и помещаете его в папку /etc/init.d/ с нужным вам именем (у меня оно лежит под именем dropboxd). Ну и даете ессно на него права на запуск типа chmod go+rwx /etc/init.d/dropboxd
Настройка:
DROPBOX_USERS -- список пользователей для которых будет запускаться демон. Файло будет синкаться в /home/<username>/Dropbox
LOG_* -- путь и имена файлов логов, расписывать полнее не имеет смысла =)
localhost init.d # cat /etc/init.d/dropboxd
#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
#
# dropbox daemon start/stop/status
# by thunder <thunder@blackdeath.ru>, (C) sep, 2012
#
DROPBOX_USERS="thunder"
NICENESS=5
LOG_DIR=/var/log/dropbox/
LOG_ERR=${LOG_DIR}dropbox.error.log
LOG_FILE=${LOG_DIR}dropbox.work.log
if [ ! -d $LOG_DIR ] ; then
mkdir $LOG_DIR
chmod o+rwx $LOG_DIR
touch $LOG_FILE && touch $LOG_ERR
fi
depend() {
need localmount net
after bootmisc
}
start() {
ebegin "Starting dropbox..."
for dbuser in $DROPBOX_USERS; do
start-stop-daemon -S -b -m --pidfile /var/run/dropbox-$dbuser.pid -N $NICENESS -u $dbuser -v -e HOME="/home/$dbuser" -x /opt/dropbox/dropboxd -1 ${LOG_FILE} -2 ${LOG_ERR} -k 007
done
eend $?
}
stop() {
ebegin "Stopping dropbox..."
for dbuser in $DROPBOX_USERS; do
start-stop-daemon --stop --pidfile /var/run/dropbox-$dbuser.pid
done
eend $?
}
status() {
for dbuser in $DROPBOX_USERS; do
if [ -e /var/run/dropbox-$dbuser.pid ] ; then
echo "dropboxd for USER $dbuser: running."
else
echo "dropboxd for USER $dbuser: not running."
fi
done
eend $?
}
Вот и все, скрипт можете допиливать по своему усмотрению.
Вопросы? Welcome to comments :)
Комментариев нет:
Отправить комментарий