YasBackup

YasBackup stands for Yet Another Simple Backup. As its name indicate, it is a simple backup tool.

Get it here

Install

Get the code an run, from the root directory:

python setup.py install

Configuration

YasBackup uses a simple and flexible YAML configuration file.

general:
  format: bzip2
  file-format: mybackup-${name}-${date}.${ext}
  backup-dir: /home/shares/backup
  exclude:
    files: [\.mp3$, \.avi$, \.mpeg$, \.mkv$, \.ogg$, \.iso$, ~$]
    dirs: ['/home/[^/]+?/\.gvfs/', '/home/[^/]+?/\.thumbnails/', '/home/[^/]+?/\..+/[tT]rash/', '/home/[^/]+?/\..+/[cC]ache/']
  maxsize: 300Mb

log:
  filename: /var/log/yas-backup.log
  level: 10

report:
  level: error
  mail-to: Server 
  smtp-server: localhost
# smtp-port: 25
# smtp-tls: 0
# smtp-cert:
# smtp-key:
  smtp-user: asdf
  smtp-password: 1234

backup-tasks:
  - name: projetos
    fileset: /home/pedro/projetos
    exclude: 
      dirs: \.f$
    schedule: daily
  - name: git
    fileset: [/var/git/repositories, /home/pedro/git]
  - name: system
    fileset: /etc/
    schedule: weekly
  - name: homes
    fileset: /home/
    exclude: 
      dirs: /home/shares
    schedule: monthly

Running

You can just call yas-backup from the command line, and wait. Or you can configure it to use cron, setting one of its schedule target, namely: daily, weekly and monthly. A simple script like this will do the job, just change the target for each of the cron default schedule:

#!/bin/sh
yas-backup monthly &

Leave a Reply

Your email address will not be published. Required fields are marked *