Skip to content

mducoli/cronupper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cronupper

Schedule cron jobs to take and upload backups automatically

Presets and uploaders

Presets

  • Custom command
  • Docker volumes
  • MongoDB
  • Postgres

Uploaders

  • S3

Usage

Docker compose

services:
  cronupper:
    image: "mducoli/cronupper:latest"
    restart: unless-stopped
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./cronupper-config.yml:/etc/cronupper/config.yml"

Configuration

Example

jobs:
  postgres:
    cron: "0 3 * * *"
    preset: postgres
    config:
      container: "postgres"
      postgresuser: "postgresuser"
    upload:
      to: s3_1
      filename: postgres-$(date +%Y%m%dT%H%M).sql
      config:
        bucket: "backups"
        prefix: "postgres/"
  pgadmin:
    cron: "0 3 * * *"
    preset: docker-volume
    config:
      volume: "pgadmin_data"
    upload:
      to: s3_1
      filename: pgadmin-$(date +%Y%m%dT%H%M).tgz
      config:
        bucket: "backups"
        prefix: "pgadmin/"

uploaders:
  s3_1:
    provider: s3
    config:
      endpoint: "s3.eu-west-3.amazonaws.com"
      access_key: ${S3_ACCESS_KEY}
      secret_key: ${S3_SECRET_KEY}

Run job immediately

With docker compose

docker compose exec cronupper /cronupper run [job name]