README.md 2.5 KB

plain_inc_bak

Simple but fast incremental backup script with optional encrypted upload to Amazon S3. Based on the method explained in this excellent article by Mike Rubel.

$ python3 plain_inc_bak.py --help

usage: plain_inc_bak.py [-h] [-o ORIGIN_DIR] [-B BACKUPS_DIR]
                        [-n BACKUP_BASENAME] [-m MAX_BACKUPS]
                        [-x EXCLUDE_DIRS] [-u] [-b S3_BUCKET] [-e]
                        [-p S3_GPG_PASS] [-a S3_AKEY] [-s S3_SECRET] [-E]
                        [-P EMAIL_PROGRAM] [-f EMAIL_FROM] [-d EMAIL_DEST]
                        [-D]

Incremental backup utility with optional upload to Amazon S3

optional arguments:
  -h, --help            show this help message and exit
  -o ORIGIN_DIR, --origin_dir ORIGIN_DIR
                        Origin directory to backup (will include subdirs
  -B BACKUPS_DIR, --backups_dir BACKUPS_DIR
                        Directory where the backups will be stored
  -n BACKUP_BASENAME, --backup_basename BACKUP_BASENAME
                        First part of the backup directory names (numbers will
                        be appended to it)
  -m MAX_BACKUPS, --max_backups MAX_BACKUPS
                        Maximum number of incremental backups to keep
  -x EXCLUDE_DIRS, --exclude_dirs EXCLUDE_DIRS
                        Comma separated list of directories to exclude from
                        the backup.This option will remove any other
                        configured exclude diretories
  -u, --upload_s3       Enable uploading to Amazon S3 of the most recent
                        backup
  -b S3_BUCKET, --s3_bucket S3_BUCKET
                        Name of the S3 bucket to upload
  -e, --s3_gpg_encrypt  Encrypt the backup with GPG before uploading to S3
  -p S3_GPG_PASS, --s3_gpg_pass S3_GPG_PASS
                        GPG passphrase to use for encrypted uploads
  -a S3_AKEY, --s3_akey S3_AKEY
                        S3 Access Key
  -s S3_SECRET, --s3_secret S3_SECRET
                        S3 Secret Key
  -E, --email_report    Send an email report
  -P EMAIL_PROGRAM, --email_program EMAIL_PROGRAM
                        Sendmail-style program to use for sending the email
  -f EMAIL_FROM, --email_from EMAIL_FROM
                        "From" field to use in the report email
  -d EMAIL_DEST, --email_dest EMAIL_DEST
                        Address where the report email will be sent
  -D, --dry_run         Dont really compress or upload anything