Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tlinden/fatbackup
Incremental backups without hardlinks
https://github.com/tlinden/fatbackup
Last synced: 17 days ago
JSON representation
Incremental backups without hardlinks
- Host: GitHub
- URL: https://github.com/tlinden/fatbackup
- Owner: TLINDEN
- License: artistic-2.0
- Created: 2015-11-06T18:34:58.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-11-07T15:58:26.000Z (about 9 years ago)
- Last Synced: 2023-03-22T03:11:19.696Z (almost 2 years ago)
- Language: Perl
- Size: 0 Bytes
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fatbackup
Incremental backups without hardlinks# What?
This is a small perl script for incremental backups with fat(32)-drives. Such filesystems don't support incremental backups using hardlinks, which most tools use with rsync. Fatbackup is a pure perl solution. Each time it is executed it saves new or changed files into a new subdirectory. It keeps track of files using a database. The restore function takes this into account and collects files of the various backup subdirectories in order to restore a snapshot. Therefore it works as it had hardlinks.
# Install
cp fatbackup $HOME/bin
# Usage
usage: fatbackup [-hvsidnVztrl]
Backup Options:
--include -i Directories to backup, may occur multiple times.
--exclude -e Directory or file to ignore, may occur multiple times.
--dst -d Target directory where to save backups.
--zip -z Create zip archives instead of copying.
Restore Options:
--restore -r Restore from backup made on timestamp .
--target -t Directory where to restore to, default origin.
Lookup Options:
--list -l [] If no timestamp given, list snapshots (timestamps)
otherwise list files backed up on . if -v
is set, show all files of snapshot . Requires -d.
General Options:
--nodie -n Don't exit on errors
--help -h -? Print help
--version -V Print version
--verbose -v Be verbose during operations
--debug Print debugging
Notes:
The destination directory --dst may contain format characters (see: man strftime).
E.g. if executed daily with -d /backups/%m then 12 full backups will be made on
the first of each month differential backups on the other days.# Examples
## make a backup
fatbackup -d /media/fritz.box/Intenso/desktop-%m -i $HOME/Desktop -e "\.(git|svn)" -e "(tmp|cache)" -n
Here we're saving to a cifs-mounted usb-disk with a fat32 filesystem attached to a
fritzbox. We use %m in the backup directory, so we will have a new full backup on each new
month and incremental backups on the other days. We don't save temporary and repository
stuff.## see what's there
fatbackup -d /media/fritz.box/Intenso/desktop-%m -l
This shows a list of what snapshots are in this backup directory. You may also peak directly into
a snapshot like this:fatbackup -d /media/fritz.box/Intenso/desktop-%m -l 2015-11-07-13.10
## restore a snapshot
fatbackup -d /media/fritz.box/Intenso/desktop-%m -r 2015-11-07-13.10
Here we restore the specified snapshot back to the original source directory.
## check for errors
The backup directory contains a logfile where you can see what happened.
If you see lots of errors with "bad file descriptor" and the like and your source
filenames contain unprintable characters or :: which are not allowed on a fat(323)
filesystem, consider using zipfiles (option -z)# Getting help
Although I'm happy to hear from fatbackup users in private email,
that's the best way for me to forget to do something.In order to report a bug, unexpected behavior, feature requests
or to submit a patch, please open an issue on github:
https://github.com/TLINDEN/fatbackup/issues.# Copyright and license
This software is licensed under the GNU GENERAL PUBLIC LICENSE version 3.
# Authors
T.v.Dein
# Project homepage
https://github.com/TLINDEN/fatbackup