有没有办法将 PC 与 nextcloud 服务器同步,但无需桌面 GUI?
PC 启动后就会进行同步。即使用户尚未登录。
我知道nextcloudcmd。我可以运行一个 cron 作业并每 N 分钟调用一次“nextcloudcmd”。
但这并不好。
我真的更喜欢立即同步的解决方案(例如通过 inotify)。
这怎么可能做到呢?
我认为封装 nextcloudcmd 的 shell 脚本只是一种解决方法。
如果nextcloud不提供这个,那么我将使用seafile来做到这一点。请参阅:https://manual.seafile.com/deploy/start_seafile_at_system_bootup.html
我个人认为这很奇怪。GUI 可以做到这一点。我只是想要同样的东西,但没有 GUI。是的,我可以在“假”帧缓冲区 X 环境中运行 GUI……但是不行,那太脏了。
这需要基本的 shell 脚本:测试是否存在锁定文件,如果不存在则创建锁定文件,运行更新,删除锁定文件。这样就nextcloudcmd不会启动多次。
未经测试的概念证明:
#!/bin/sh
LOCKFILE=/var/lock/ncupdate.lock
[ -e $LOCKFILE ] && kill -0 $(cat $LOCKFILE) 2>/dev/null && exit;
echo $$ > $LOCKFILE
nextcloudcmd
rm $LOCKFILE
Run Code Online (Sandbox Code Playgroud)
更新:它测试正在运行的进程,因此如果脚本被终止,它仍然会运行并覆盖 PID。