Nextcloud, синхронизация без графического интерфейса

Есть ли способ синхронизировать ПК с сервером nextcloud, но без графического интерфейса рабочего стола?

Синхронизация должна произойти, как только ПК загрузится. Даже если пользователь еще не вошел в систему.

Я знаю nextcloudcmd .Я мог бы запустить задание cron и вызывать `nextcloudcmd` каждые N минут.

Но это неприятно.

Я действительно предпочитаю решение, в котором синхронизация выполняется немедленно (например, через inotify).

Как можно это можно сделать?

Я думаю, что сценарий оболочки, обертывающий nextcloudcmd, - это просто обходной путь.

Если nextcloud не предоставляет этого, я буду использовать seafile, который может это сделать. См.: https://manual.seafile.com/deploy/start_seafile_at_system_bootup.html

Я лично считаю это очень странным. Графический интерфейс может это сделать. Я просто хочу то же самое, но без графического интерфейса. Да, я мог бы запустить графический интерфейс в "фальшивой" среде фреймбуфера X ... но нет, это слишком грязно.

0
задан 15 March 2019 в 22:26
2 ответа

Для этого требуются базовые сценарии оболочки: проверьте наличие файла блокировки, если он отсутствует, создайте файл блокировки, запустите обновление, удалите файл блокировки. Таким образом, nextcloudcmd не запускается несколько раз.

Непроверенное доказательство концепции:

#!/bin/sh

LOCKFILE=/var/lock/ncupdate.lock

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


echo $$ > $LOCKFILE
nextcloudcmd
rm $LOCKFILE

Обновление: он проверяет работающий процесс, поэтому, если сценарий будет убит, он все равно запустится и перезапишет PID.

1
ответ дан 4 December 2019 в 15:45
nextcloudcmd /local https://DOMAIN/remote.php/webdav/FOLDER_PATH

Например, синхронизируйте папку /backup и папку Documents в удаленном Nextcloud

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

запросит имя пользователя и пароль для входа вручную. Если вы выполняете автоматизацию с помощью задания cron, вы можете добавить --user и --password для автоматического входа в систему

Примечание. Сначала вам необходимо установить nextcloudcmd, вот как установить клиент nextcloud в Linux: https:/ /www.addictivetips.com/ubuntu-linux-tips/install-nextcloud-sync-client-on-linux/

Больше пользователей можно увидеть по этой ссылке: https://docs.nextcloud.com/desktop/ 2.6/advancedusage.html

0
ответ дан 26 August 2020 в 16:06