LINUX.ORG.RU

История изменений

Исправление 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, :

@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:
    image: nextcloud:23.0.3-apache
    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, :

@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:
    image: nextcloud:23.0.3-apache
    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 "\\n\\n\\n$(date -Is)\\n\\n" >> $NEXTCLOUD/nextcloud-cron.log; for i in $(seq 1 100); do curl https://cloud.bvn13.me/cron.php; done >> $NEXTCLOUD/nextcloud-cron.log'
*/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 {} \;'

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