Назад | Перейти на главную страницу

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

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

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

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

Но это нехорошо.

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

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

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

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

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

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

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

#!/bin/sh

LOCKFILE=/var/lock/ncupdate.lock

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


echo $$ > $LOCKFILE
nextcloudcmd
rm $LOCKFILE

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

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

Например, синхронизировать папку / резервную копию и папку Документы в вашем Remote 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