LINUX.ORG.RU

NextCloud - как исправить то, что он мне пытается донести?

 , ,


0

1

Я не особо понимаю, что он от меня хочет, и как это исправить. По-порядку…

+ 1) В разделе Настройки - Параметры сервера - Основные параметры - Фоновые задания

Некоторые фоновые задачи не выполнялись с 7 дней назад. Рассмотрите возможность использования службы cron для выполнения фоновых заданий.

И какой бы из пунктов «AJAX, WebCron, Cron» я не выбрал - оно не исчезает. Клауд в докере, на хосте я в крон положил вызов егошного /cron.php - по 200 вызовов в минуту - что ему еще нужно?

РЕШЕНИЕ: NextCloud - как исправить то, что он мне пытается донести? (комментарий)

+ 2) Постоянная уведомлялка «Закрытый ключ приложения шифрования недействителен. Обновите закрытый ключ в личных настройках, чтобы восстановить доступ к зашифрованным файлам.»

В разделе Настройки - Параметры пользователя - Безопасность - тут я вижу два поля для установки этого ключа. Проблема в том, что я не настраивал старый ключ, не знаю, что указывать в полях, и кнопка «обновить пароль ключа» ничего не сохраняет. Что ему нужно?

  1. Настройки плагина Reader (который открывает PDF, Epub) - не сохраняются. Я хочу снять галку с формата PDF, но сохранить не могу.

__

Из докер-хаба: nextcloud:23.0.3-apache

★★★★★

Последнее исправление: bvn13 (всего исправлений: 3)

Клауд в докере, на хосте я в крон положил вызов егошного /cron.php - по 200 вызовов в минуту - что ему еще нужно?

Логи выполнения смотрел? При ручном запуске(от пользователя, из под которого запускается nextcloud) что происходит?

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte
nextcloud             | 127.0.0.1 - - [01/Apr/2022:13:01:13 +0300] "GET /cron.php HTTP/1.1" 200 1558 "-" "curl/7.68.0"
nextcloud             | 127.0.0.1 - - [01/Apr/2022:13:01:13 +0300] "GET /cron.php HTTP/1.1" 200 1556 "-" "curl/7.68.0"
nextcloud             | 127.0.0.1 - - [01/Apr/2022:13:01:13 +0300] "GET /cron.php HTTP/1.1" 200 1564 "-" "curl/7.68.0"
nextcloud             | 127.0.0.1 - - [01/Apr/2022:13:01:13 +0300] "GET /cron.php HTTP/1.1" 200 1558 "-" "curl/7.68.0"
nextcloud             | 127.0.0.1 - - [01/Apr/2022:13:01:13 +0300] "GET /cron.php HTTP/1.1" 200 1562 "-" "curl/7.68.0"
nextcloud             | 127.0.0.1 - - [01/Apr/2022:13:01:13 +0300] "GET /cron.php HTTP/1.1" 200 1552 "-" "curl/7.68.0"

и такое во все поля

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

ничего не пишет

root@26110527c43b:/var/www/html# bash 1.sh
root@26110527c43b:/var/www/html# cat 1.sh
#!/bin/bash

run_as() {
    if [ "$(id -u)" = 0 ]; then
        su -p www-data -s /bin/sh -c "$1"
    else
        sh -c "$1"
    fi
}

run_as ' \
    php /var/www/html/cron.php
'

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от Pinkbyte

подправил свой скрипт

root@26110527c43b:/var/www/html# cat 1.sh
#!/bin/bash

run_as() {
    if [ "$(id -u)" = 0 ]; then
        su -p www-data -s /bin/sh -c "$1"
    else
        sh -c "$1"
    fi
}

run_as ' \
    php /var/www/html/cron.php
'

echo $?
root@26110527c43b:/var/www/html# bash 1.sh
0

bvn13 ★★★★★
() автор топика
Ответ на: комментарий от bvn13

О! после этого в настройках надпись поменялась!

Последнее задание выполнено несколько секунд назад.

Как такое теперь в крон внутри контейнера завернуть?…

bvn13 ★★★★★
() автор топика
Последнее исправление: bvn13 (всего исправлений: 1)
Ответ на: комментарий от bvn13

@Pinkbyte, я навялил.

Dockerfile

FROM nextcloud:23.0.3-apache

WORKDIR /var/www/html

COPY ./script/cron.sh /app/cron.sh

ENTRYPOINT ["/entrypoint.sh"]

Скрипт

#!/bin/bash

run_as() {
    if [ "$(id -u)" = 0 ]; then
        su -p www-data -s /bin/sh -c "$1"
    else
        sh -c "$1"
    fi
}

run_as ' \
    php /var/www/html/cron.php
'

echo $?

И композ в части клауда:

services:

  nextcloud:
    build: ./src/
    container_name: nextcloud
    environment:
      - TZ=Europe/Moscow
      - POSTGRES_HOST=postgres-nextcloud
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_PASSWORD=dsfjhskdjfhskWER!
    volumes:
      - ./nextcloud/apps:/var/www/html/apps
      - ./nextcloud/custom_apps:/var/www/html/custom_apps
      - ./nextcloud/config:/var/www/html/config
      - ./nextcloud/data:/var/www/html/data
    networks:
      - nextcloud
    restart: unless-stopped
    depends_on:
      - postgres-nextcloud

Теперь крон на хосте


NEXTCLOUD=/var/log/nextcloud

# cron webhook
*/1  *  *  *  * /bin/bash -c 'mkdir $NEXTCLOUD; printf "$(date -Is) - $(docker exec nextcloud bash /app/cron.sh)\\n" >> $NEXTCLOUD/nextcloud-cron.log'

# making archive
*  */1  *  *  * /bin/bash -c 'tar -cf $NEXTCLOUD/nexcloud-cron--$(date '+%Y-%m-%d--%H-%M-%S').tar $NEXTCLOUD/nextcloud-cron.log && rm $NEXTCLOUD/nextcloud-cron.log'
# removing the oldest
23   3  *  *  * /bin/bash -c 'find $NEXTCLOUD/ -type f -mtime 3 -exec rm -f {} \;'

Важна первая запись. Вторая и третья - попытался ротацию логов сделать. Еще не обтестил.

bvn13 ★★★★★
() автор топика
Последнее исправление: bvn13 (всего исправлений: 2)
Ответ на: комментарий от bvn13

По проблеме 2 решение - только отключать шифрование. Если ключ потерян и нет резервного системного(не помню как он там называется) - только выгружать данные, отключать шифрование(с потерей всего на учетке nextcloud!) и загружать обратно. Ну и не терять ключ, да, если планируешь включать шифрование обратно

По поводу 3 - хз, не сталкивался

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

так я не включал шифрование. откуда оно? как отключить, как проверить, что включено? как, когда и кем оно было включено?

в журнале есть ошибки вида

Предупреждение	encryption	OC\ServerNotAvailableException: Legacy cipher is no longer supported!

Это оно?

bvn13 ★★★★★
() автор топика
Последнее исправление: bvn13 (всего исправлений: 1)
Ответ на: комментарий от bvn13

Если есть ошибка, значит включено. Проверить очень просто - если ты можешь на сервере из консоли(например с помощью cat, не через Nextcloud!) прочитать содержимое текстовых файлов - шифрование не включено. Проверять надо на файлах залитых ранее, т.к. сейчас для новых файлов шифрование уже отключено, судя по ошибкам.

Возможно в старых версиях контейнера при разворачивании шифрование включалось по умолчанию, тут не подскажу - я мигрировал свой инстанс в docker, а не разворачивал с нуля. С отключением шифрования пришлось поплясать, но я его явно включал когда разворачивал еще через дистрибутивные пакеты

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

выключил, плашка-уведомлялка исчезла :)

bvn13 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.