Есть ли способ синхронизировать ПК с сервером 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