Answers:
/etc/init.d/
利用其中包含的框架脚本来创建服务脚本。然后,您可以service dropbox start
在重新启动时将Cron 添加到cron中,并且仍然能够停止服务并重新启动它。
init.d
以root 身份运行有解决方案。我发布了自己的答案,但是该解决方案在pixeldust.wikidot.com/linode-setup%3adropbox中似乎很好用。
这是我的解决方案。这是在Debian 8上。
按照标准说明安装Dropbox。到目前为止,我只连接了一个用户,我不知道这是否可以与多个用户一起使用,因为Dropbox似乎是在注册计算机,而不是Linux用户帐户。如果您知道如何在一台服务器上运行多个用户帐户,请告诉我们。
https://www.dropbox.com/zh_CN/install?os=lnx
然后安装python控制脚本说明,但将其放在/ usr / bin而不是主目录bin中。
创建文件/lib/systemd/system/dropbox@.service:
[Unit]
Description=Dropbox as a system service user %i
[Service]
Type=forking
ExecStart=/usr/bin/dropbox start
ExecStop=/usr/bin/dropbox stop
User=%i
Group=%i
# 'LANG' might be unnecessary, since systemd already sets the
# locale for all services according to "/etc/locale.conf".
# Run `systemctl show-environment` to make sure.
Environment=LANG=en_US.utf-8
[Install]
WantedBy=multi-user.target
为用户fred启用服务:
$ sudo systemctl enable dropbox@fred.service
然后启动服务:
$ sudo systemctl start dropbox@fred.service
After=network.target
下面添加[Unit]
python文件,并将其放在/usr/local/bin
每个unix.stackexchange.com/questions/8656/…中
您可以找到Debian和Ubuntu init.d脚本,只需将其复制到/etc/init.d/dropbox并使用用户名进行自定义。
在Debian中启用chkconfig --add dropbox
。然后像其他任何服务一样运行。
在这里看看:
https://community.spiceworks.com/topic/131973-dropbox-headless-workstation?page=1#entry-6076539
一位用户提到:
只是以为我会提到:
(a)最新的发行版似乎很简单,只需从命令行运行
dropbox start
,但(b)注意在转发X11的情况下进行登录和注销。我已经设置了许多Bash别名以连接到各种计算机,并且它们都包含
-X
转发X11数据包的选项。因此,Dropbox在注销时一直死于我,甚至在screen
和下运行它 也是如此nohup
。显然,转发X11导致Dropbox在我的本地计算机而不是远程计算机上连接dbus进程。因此,当我断开连接时,Dropbox认为dbus已终止,因此终止了自身。仅供参考,这让我感到难过。关键是我必须按下Ctrl- C即使在注销/
exit
在远程计算机上运行后也是如此。显然,即使我退出了Bash,SSH仍使会话保持打开状态,因为仍然保持了打开的连接。
即使一个人(出于某种原因)想要继续使用ssh-ing,该解决方案也很简单-X
:在启动Dropbox之前,您应该“中断”转发,例如:
$ unset DISPLAY
如果在Bash脚本中完成此操作,则仅在脚本内部进行“中断”转发,但是一旦执行,“终端”仍在转发。
这是我使用Upstart 1.4及更高版本的Linux发行版的解决方案。
将以下内容保存到位于下的配置文件中/etc/init
,例如/etc/init/db_user.conf
:
# Dropbox upstart script for user db_user, db_user can be replaced by anything you like.
description "Dropbox db_user"
author "myth384"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid db_user
# The next two lines are optional. I use these to be able to share the
# Dropbox using Samba. Within group shareusers are all Samba users.
# setgid shareusers
# umask 0002
# The next line is necessary to be able to synchronise files with non-ASCII characters.
env LANG="en_US.UTF-8"
exec /home/db_user/.dropbox-dist/dropbox
要启动守护程序而无需重新引导:
sudo start db_user
注意:通过取消注释setgid行,不需要.dropbox.cache
按Internet上其他来源所示在文件夹上设置setgid标志。
该站点似乎具有有关如何在Linux上安装和配置保管箱的完整信息,包括下载和安装CLI,在保管箱之外创建软链接以及将保管箱作为守护程序运行。后者提供了一个init.d脚本,该脚本dropboxd
可通过service
和进行控制chkconfig
。
http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-centos-gui-required
下载Dropbox提供的脚本 https://www.dropbox.com/download?dl=packages/dropbox.py 并运行
python dropbox.py start
如果您没有python,则需要pyhon来运行它
解决方案与其他python程序一样:
shell$ nohup ~/.dropbox-dist/dropboxd &
我认为最好的方法是使用以下代码在/ usr / bin中创建一个新文件:
#!/bin/bash
~/.dropbox-dist/dropboxd
保存并将其命名为“ Dropbox”。现在,您可以在后台从控制台运行,也可以在菜单/桌面中创建快捷方式
dropbox &
需要将其发送到后台。此外,如果终端连接结束,则挂断信号将终止该过程。