Nextcloud,无需 GUI 即可同步

Nextcloud,无需 GUI 即可同步

有没有办法将 PC 与 nextcloud 服务器同步,但不使用桌面 GUI?

电脑启动后应立即进行同步。即使用户尚未登录。

我知道nextcloud命令。我可以运行一个 cron 作业并每 N 分钟调用一次“nextcloudcmd”。

但这并不好。

我确实更喜欢立即进行同步的解决方案(例如通过 inotify)。

这怎么可能呢?

我认为包装 nextcloudcmd 的 shell 脚本只是一种解决方法。

如果 nextcloud 不提供此功能,那么我将使用可以做到这一点的 seafile。请参阅:https://manual.seafile.com/deploy/start_seafile_at_system_bootup.html

我个人认为这很奇怪。GUI 可以做到这一点。我只想要同样的东西,但没有 GUI。是的,我可以在“假”帧缓冲区 X 环境中运行 GUI……但不,那太肮脏了。

答案1

这需要基本的 shell 脚本:测试是否存在锁定文件,如果不存在则创建锁定文件,运行更新,删除锁定文件。这样就nextcloudcmd不会多次启动。

未经测试的概念证明:

#!/bin/sh

LOCKFILE=/var/lock/ncupdate.lock

[ -e $LOCKFILE ] && kill -0 $(cat $LOCKFILE) 2>/dev/null  && exit;


echo $$ > $LOCKFILE
nextcloudcmd
rm $LOCKFILE

更新:它测试正在运行的进程,因此如果脚本被终止,它仍然会运行并覆盖 PID。

答案2

nextcloudcmd /local https://DOMAIN/remote.php/webdav/FOLDER_PATH

例如,同步文件夹 /backup 和远程 Nextcloud 中的文件夹 Documents

nextcloudcmd /backup /https://nextcloud.mydomain.com/remote.php/webdav/Documents

它会要求输入用户名和密码才能手动登录。如果您通过 cron 作业自动执行,则可以添加 --user 和 --password 以自动登录

注意:您需要先安装 nextcloudcmd,以下是在 Linux 中安装 nextcloud 客户端的方法:https://www.addictivetips.com/ubuntu-linux-tips/install-nextcloud-sync-client-on-linux/

更多用法可以看这个链接:https://docs.nextcloud.com/desktop/2.6/advancedusage.html

相关内容