Перейти к основному содержанию

OwnCloud не синхронизирует файлы

Owncloud

Столкнулся с проблемой. Клиент Owncloud автоматически не синхронизирует файлы из внешнего хранилища, подключенного по SMB из Windows сервера. Если загружаешь файл, то он нормально попадает в папку, все его видят. А если кто-то загружает файл на Windows сервере, то OwnCloud не видит это изменение, соответственно, не синхронизируется клиент.

OwnCloud — это свободное и открытое веб-приложение для синхронизации данных и совместной работы с файлами в стиле Dropbox. Замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища.

Если подумать, то проблема понятная. Операционная система Linux, на которой развернут OwnCloud, понятия не имеет, что в какой-то SMB директории изменился, удалился или добавился файл. Здесь приходит на помощь запуск полного сканирования файлов в cron.

Запуск сканирования вручную

Сканирование для всех пользователей:

sudo -u www-data php /var/www/owncloud/occ files:scan --all

Сканирование для определённого пользователя:

sudo -u www-data php /var/www/owncloud/occ files:scan username

owncloud

Запуск сканирования в crontab

Редактируем файл настроек cron:

sudo -u www-data crontab -e

Добавляем расписание сканирования, допустим, раз в 15 минут для пользователя:

*/15  *  *  *  * /usr/bin/php -f /var/www/owncloud/occ files:scan username

Или раз в час для групп:

0  *  *  *  * /usr/bin/php -f /var/www/owncloud/occ files:scan --group=foo --group=bar

Или в 7 и в 19 часов для всех:

0  7,19  *  *  * /usr/bin/php -f /var/www/owncloud/occ files:scan --all

Timeout

Файлов может быть много. Поскольку скрипт выполняется через PHP, то можно напороться на таймаут:

PHP Fatal error:  Maximum execution time of 3600 seconds exceeded in /var/www/owncloud/3rdparty/Patchwork/PHP/Shim/Normalizer.php on line 204

В Интернете предлагают решение. Редактируем Normalizer.php, переходим к строке 204, поднимаемся к началу функции. Перед началом цикла while, вставляем код:

ini_set('max_execution_time', 43200);

Таймаут увеличен до 12 часов.

Ссылки

https://forum.ubuntu.ru/index.php?topic=250464.0

https://doc.owncloud.com/server/next/admin_manual/configuration/server/occ_command.html

Теги

 

Похожие материалы