https://wiki.archlinux.org/api.php?action=feedcontributions&user=Tritonas00&feedformat=atomArchWiki - User contributions [en]2024-03-29T15:43:54ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=515605System-tar-and-restore2018-04-02T16:52:41Z<p>Tritonas00: updated dependency</p>
<hr />
<div>[[Category:System recovery]]<br />
{{Merge|Backup|Most of this can be summarized in a few table entries}}<br />
'''System-tar-and-restore''' contains two bash scripts, the main program '''star.sh''' and a gui wrapper '''star-gui.sh'''. Three modes are available: <br />
<br />
*'''Backup''': With this mode you can make a tar backup archive of your system.<br />
<br />
*'''Restore/Transfer''': Restore mode uses the above created archive to extract it in desired partition(s). Transfer mode transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, the script generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
If you plan to use the gui, install {{AUR|gtkdialog}} from the [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}}.<br />
<br />
== Usage ==<br />
<br />
See the [https://github.com/tritonas00/system-tar-and-restore/blob/master/README.md README].</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=506689System-tar-and-restore2018-01-08T22:20:05Z<p>Tritonas00: updated dependency</p>
<hr />
<div>[[Category:System recovery]]<br />
{{Merge|Backup|Most of this can be summarized in a few table entries}}<br />
'''System-tar-and-restore''' contains two bash scripts, the main program '''star.sh''' and a gui wrapper '''star-gui.sh'''. Three modes are available: <br />
<br />
*'''Backup''': With this mode you can make a tar backup archive of your system.<br />
<br />
*'''Restore/Transfer''': Restore mode uses the above created archive to extract it in desired partition(s). Transfer mode transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, the script generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
If you plan to use the gui, install {{AUR|gtkdialog-svn}} from the [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [[Unofficial_user_repositories#archlinuxgr-any|archlinuxgr-any]] repo.<br />
<br />
== Usage ==<br />
<br />
See the [https://github.com/tritonas00/system-tar-and-restore/blob/master/README.md README].</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=506688System-tar-and-restore2018-01-08T22:19:07Z<p>Tritonas00: updated dependency</p>
<hr />
<div>[[Category:System recovery]]<br />
{{Merge|Backup|Most of this can be summarized in a few table entries}}<br />
'''System-tar-and-restore''' contains two bash scripts, the main program '''star.sh''' and a gui wrapper '''star-gui.sh'''. Three modes are available: <br />
<br />
*'''Backup''': With this mode you can make a tar backup archive of your system.<br />
<br />
*'''Restore/Transfer''': Restore mode uses the above created archive to extract it in desired partition(s). Transfer mode transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, the script generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
If you plan to use the gui, install {{AUR|gtkdialog-svn}}{{Broken package link|package not found}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [[Unofficial_user_repositories#archlinuxgr-any|archlinuxgr-any]] repo.<br />
<br />
== Usage ==<br />
<br />
See the [https://github.com/tritonas00/system-tar-and-restore/blob/master/README.md README].</div>Tritonas00https://wiki.archlinux.org/index.php?title=Disk_cloning&diff=459538Disk cloning2016-12-18T19:34:43Z<p>Tritonas00: updated system-tar-and-restore info</p>
<hr />
<div>[[Category:Data compression and archiving]]<br />
[[Category:System recovery]]<br />
[[it:Disk cloning]]<br />
[[ja:ディスクのクローン]]<br />
[[ru:Disk cloning]]<br />
[[tr:Disk klonlama]]<br />
[[zh-CN:Disk cloning]]<br />
Disk cloning is the process of making an image of a partition or of an entire hard drive. This can be useful for copying the drive to other computers and for [[backup]] and [[File recovery|recovery]] purposes.<br />
<br />
== Using dd ==<br />
<br />
The ''dd'' command is a simple, yet versatile and powerful tool. It can be used to copy from source to destination, block-by-block, regardless of their filesystem types or operating systems. A convenient method is to use ''dd'' from a live environment, as in a Live CD.<br />
<br />
{{Warning|As with any command of this type, you should be very cautious when using it; it can destroy data. Remember the order of input file ({{ic|1=if=}}) and output file ({{ic|1=of=}}) and do not reverse them! Always ensure that the destination drive or partition ({{ic|1=of=}}) is of equal or greater size than the source ({{ic|1=if=}}).<br />
}}<br />
<br />
{{Accuracy|1=Are the conv= options safe to use? See:|section=remove conv sync noerror}} <br />
<br />
=== Cloning a partition ===<br />
<br />
From physical disk {{ic|/dev/sda}}, partition 1, to physical disk {{ic|/dev/sdb}}, partition 1.<br />
# dd if=/dev/sda1 of=/dev/sdb1 bs=64K conv=noerror,sync<br />
<br />
{{Warning|If output file {{ic|1=of=}} ({{ic|sdb1}} in the example) does not exist, ''dd'' will create a file with this name and will start filling up your root file system!}}<br />
<br />
=== Cloning an entire hard disk ===<br />
<br />
From physical disk {{ic|/dev/sd''X''}} to physical disk {{ic|/dev/sd''Y''}}<br />
# dd if=/dev/sd''X'' of=/dev/sd''Y'' bs=64K conv=noerror,sync<br />
<br />
This will clone the entire drive, including the MBR (and therefore bootloader), all partitions, UUIDs, and data.<br />
* {{ic|noerror}} instructs ''dd'' to continue operation, ignoring all read errors. Default behavior for ''dd'' is to halt at any error. <br />
* {{ic|sync}} fills input blocks with zeroes if there were any read errors, so data offsets stay in sync.<br />
* {{ic|1=bs=}} sets the block size. Defaults to 512 bytes, which is the "classic" block size for hard drives since the early 1980s, but is not the most convenient. Use a bigger value, 64K or 128K. Also, please read the warning below, because there is more to this than just "block sizes" -it also influences how read errors propagate. See [http://www.mail-archive.com/eug-lug@efn.org/msg12073.html] and [http://blog.tdg5.com/tuning-dd-block-size/] for details and to figure out the best bs value for your use case.<br />
<br />
{{Warning|The block size you specify influences how read errors are handled. Read below. For data recovery, use [[#Using ddrescue|ddrescue]].}}<br />
<br />
The ''dd'' utility technically has an "input block size" (IBS) and an "output block size" (OBS). When you set {{ic|bs}}, you effectively set both IBS and OBS. Normally, if your block size is, say, 1 MiB, ''dd'' will read 1024*1024 bytes and write as many bytes. But if a read error occurs, things will go wrong. Many people seem to think that ''dd'' will "fill up read errors with zeroes" if you use the {{ic|noerror,sync}} options, but this is not what happens. ''dd'' will, according to documentation, fill up the OBS to IBS size ''after completing its read'', which means adding zeroes at the ''end'' of the block. This means, for a disk, that effectively the whole 1 MiB would become messed up because of a single 512 byte read error in the beginning of the read: 12ERROR89 would become 128900000 instead of 120000089.<br />
<br />
If you are positive that your disk does not contain any errors, you could proceed using a larger block size, which will increase the speed of your copying several fold. For example, changing bs from 512 to 64K changed copying speed from 35 MB/s to 120 MB/s on a simple Celeron 2.7 GHz system. But keep in mind that read errors on the source disk will end up as ''block errors'' on the destination disk, i.e. a single 512-byte read error will mess up the whole 64 KiB output block.<br />
<br />
{{Tip|If you would like to view ''dd'' progressing, use the {{ic|1=status=progress}} option. See [[dd]] for details.}}<br />
<br />
{{Note|<br />
* To regain unique UUIDs of an ''ext2/3/4'' filesystem, use {{ic|tune2fs /dev/sd''XY'' -U random}} on every partition.<br />
* Partition table changes from ''dd'' are not registered by the kernel. To notify of changes without rebooting, use a utility like ''partprobe'' (part of [[GNU Parted]]).<br />
}}<br />
<br />
=== Backing up the MBR ===<br />
<br />
The MBR is stored in the the first 512 bytes of the disk. It consist of 3 parts:<br />
<br />
# The first 446 bytes contain the boot loader.<br />
# The next 64 bytes contain the partition table (4 entries of 16 bytes each, one entry for each primary partition).<br />
# The last 2 bytes contain an identifier<br />
<br />
To save the MBR as {{ic|mbr.img}}:<br />
# dd if=/dev/sdX of=/path/to/mbr_file.img bs=512 count=1<br />
<br />
To restore (be careful: this could destroy your existing partition table and with it access to all data on the disk):<br />
# dd if=/path/to/mbr_file.img of=/dev/sdX<br />
<br />
If you only want to restore the boot loader, but not the primary partition table entries, just restore the first 446 bytes of the MBR: <br />
# dd if=/path/to/mbr_file.img of=/dev/sdX bs=446 count=1<br />
<br />
To restore only the partition table, one must use:<br />
# dd if=/path/to/mbr_file.img of=/dev/sdX bs=1 skip=446 count=64<br />
<br />
You can also get the MBR from a full dd disk image:<br />
# dd if=/path/to/disk.img of=/path/to/mbr_file.img bs=512 count=1<br />
<br />
=== Create disk image ===<br />
<br />
1. Boot from a live media.<br />
<br />
2. Make sure no partitions are mounted from the source hard drive.<br />
<br />
3. Mount the external HD<br />
<br />
4. Backup the drive. <br />
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c > ''/path/to/backup.img.gz''<br />
<br />
If necessary (e.g. when the format of the external HD is FAT32) split the disk image in volumes (see also the ''split'' man pages).<br />
<br />
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c | split -a3 -b2G - ''/path/to/backup.img.gz''<br />
<br />
If there is not enough disk space locally, you may send the image through ssh:<br />
<br />
# dd if=/dev/sd''X'' conv=sync,noerror bs=64K | gzip -c | ssh user@local dd of=backup.img.gz<br />
<br />
5. Save extra information about the drive geometry necessary in order to interpret the partition table stored within the image. The most important of which is the cylinder size.<br />
<br />
# fdisk -l /dev/sd''X'' > ''/path/to/list_fdisk.info''<br />
<br />
{{Note|You may wish to use a block size ({{ic|1=bs=}}) that is equal to the amount of cache on the HD you are backing up. For example, {{ic|1=bs=8192K}} works for an 8 MiB cache. The 64 KiB mentioned in this article is better than the default {{ic|1=bs=512}} bytes, but it will run faster with a larger {{ic|1=bs=}}.}}<br />
<br />
=== Restore system ===<br />
<br />
To restore your system:<br />
# gunzip -c ''/path/to/backup.img.gz'' | dd of=/dev/sd''X''<br />
<br />
When the image has been split, use the following instead:<br />
# cat ''/path/to/backup.img.gz*'' | gunzip -c | dd of=/dev/sd''X''<br />
<br />
== Using ddrescue ==<br />
''ddrescue'' is a tool designed for cloning and recovering data. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying to rescue the good parts first in case of read errors, to maximize the recovered data.<br />
<br />
To clone a faulty or dying drive, run ddrescue twice. First round, copy every block without read error and log the errors to rescue.log.<br />
<br />
# ddrescue -f -n /dev/sdX /dev/sdY rescue.log<br />
<br />
Second round, copy only the bad blocks and try 3 times to read from the source before giving up.<br />
<br />
# ddrescue -d -f -r3 /dev/sdX /dev/sdY rescue.log<br />
<br />
Now you can check the file system for corruption and mount the new drive.<br />
<br />
# fsck -f /dev/sdY<br />
<br />
== Disk cloning software ==<br />
<br />
These applications allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. They contain complete system images from one or more specific points in time and are frequently used to record known good configurations.<br />
<br />
See also [[Synchronization and backup programs]] for other applications that can take full system snapshots, among other functionality.<br />
<br />
* {{App|[[wikipedia:Acronis_True_Image|Acronis True Image]]|Commercial disk cloner for Windows. It allows you to create a live (from within Windows), so you do not need a working Windows install on the actual machine to use it. After registration of the Acronis software on their website, you will be able to download a Linux-based Live CD and/or plugins for BartPE for creation of the Windows-based live CD. It can also create a WinPE Live CD based on Windows. The created ISO Live CD image by Acronis doesn't have the [http://www.syslinux.org/wiki/index.php/Isohybrid hybrid boot] ability and cannot be written to USB storage as a raw file.|http://www.acronis.com/products/trueimage/|}}<br />
<br />
* {{App|Arch Backup|A trivial backup script with simple configuration.<br />
** Configurable compression method.<br />
** Multiple backup targets.<br />
|http://code.google.com/p/archlinux-stuff/|{{AUR|arch-backup}}}}<br />
<br />
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|A disaster recovery, disk cloning, disk imaging and deployment solution.<br />
** Boots from live CD, USB flash drive, or PXE server.<br />
** Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.<br />
** Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.<br />
** Multicasting server to restore to many machines at once.<br />
** Included on the Arch Linux installation media.<br />
|http://clonezilla.org/|{{Pkg|clonezilla}}}}<br />
<br />
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool<br />
** Support for basic file attributes (permissions, owner, ...).<br />
** Support for multiple file-systems per archive.<br />
** Support for extended attributes (they are used by SELinux).<br />
** Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.<br />
** Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of a Windows partitions).<br />
** Checksumming of everything which is written in the archive (headers, data blocks, whole files).<br />
** Ability to restore an archive which is corrupt (it will just skip the current file).<br />
** Multi-threaded lzo, gzip, bzip2, lzma compression.<br />
** Support for splitting large archives into several files with a fixed maximum size.<br />
** Encryption of the archive using a password. Based on blowfish from libcrypto from [[OpenSSL]].<br />
** Support backup of a mounted root filesystem (-A option).<br />
** Can be found on the [http://www.sysresccd.org/Main_Page System Rescue CD].<br />
|http://www.fsarchiver.org/Main_Page|{{Pkg|fsarchiver}}}}<br />
<br />
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|A disaster recovery solution to create backup media that can be used to redeploy the damaged system.<br />
** Image-based backups, supporting Linux/Windows.<br />
** Compression rate is adjustable.<br />
** Can backup live systems (without having to halt it).<br />
** Can split image over many files.<br />
** Supports booting to a Live CD to perform a full restore.<br />
** Can backup/restore over NFS, from CDs, tape drives and and other media.<br />
** Can verify backups.<br />
|http://www.mondorescue.org/|{{AUR|mondo}}}}<br />
<br />
* {{App|[[Partclone]]|A tool that can be used to back up and restore a partition while considering only used blocks.<br />
** Supports ''ext2'', ''ext3'', ''ext4'', ''hfs+'', ''reiserfs'', ''reiser4'', ''btrfs'', ''vmfs3'', ''vmfs5'', ''xfs'', ''jfs'', ''ufs'', ''ntfs'', ''fat(12/16/32)'', ''exfat''.<br />
** Supports compression.<br />
** Optionally, an ''ncurses'' interface can be used.<br />
|http://partclone.org/|{{Pkg|partclone}}}}<br />
<br />
* {{App|PartedMagic|Live cd/usb with PartImage and other recovery tools.|3=http://partedmagic.com/doku.php?id=start|4=}}<br />
<br />
* {{App|[[Wikipedia:Partimage|Partimage]]|An ''ncurses'' disk cloning utility for Linux/UNIX environments.<br />
** Has a Live CD.<br />
** Supports the most popular filesystems on Linux, Windows and Mac OS.<br />
** Compression.<br />
** Saving to multiple CDs or DVDs or across a network using Samba/NFS.<br />
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}<br />
<br />
* {{App|Q7Z|P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.<br />
** Updates existing archives quickly.<br />
** Backup multiple folders to a storage location.<br />
** Create or extract protected archives.<br />
** Lessen effort by using archiving profiles and lists.<br />
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}<br />
<br />
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|A backup and disaster recovery application that runs from a bootable Linux CD image.<br />
** Is capable of bare-metal backup and recovery of disk partitions.<br />
** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.<br />
|http://www.redobackup.org/|}}<br />
<br />
* {{App|System Tar & Restore|Backup and Restore your system using tar or Transfer it with rsync<br />
** GUI and CLI interfaces<br />
** Creates ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'' or ''.tar'' archives<br />
** Supports openssl / gpg encryption<br />
** Uses rsync to transfer a running system<br />
** Supports Grub2, Syslinux, EFISTUB/efibootmgr and Systemd/bootctl<br />
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}<br />
<br />
=== dd spin-offs ===<br />
<br />
Other ''dd''-like programs feature periodical status output, e.g. a simple progress bar.<br />
<br />
; dcfldd : {{Pkg|dcfldd}} is an enhanced version of dd with features useful for forensics and security. It accepts most of dd's parameters and includes status output. The last stable version of dcfldd was released on December 19, 2006.<sup>[http://dcfldd.sourceforge.net/]</sup><br />
<br />
; ddrescue : GNU {{Pkg|ddrescue}} is a data recovery tool. It is capable of ignoring read errors, which is a useless feature for disk wiping in almost any case. See the [http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html official manual] for details.<br />
<br />
== See also ==<br />
<br />
* [[Wikipedia:List of disk cloning software]]<br />
* [https://bbs.archlinux.org/viewtopic.php?id=4329 Arch Linux forum thread]</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=459536System-tar-and-restore2016-12-18T19:09:04Z<p>Tritonas00: Show more info</p>
<hr />
<div>[[Category:System recovery]]<br />
{{Merge|Backup|Most of this can be summarized in a few table entries}}<br />
'''System-tar-and-restore''' contains two bash scripts, the main program '''star.sh''' and a gui wrapper '''star-gui.sh'''. Three modes are available: <br />
<br />
*'''Backup''': With this mode you can make a tar backup archive of your system.<br />
<br />
*'''Restore/Transfer''': Restore mode uses the above created archive to extract it in desired partition(s). Transfer mode transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, the script generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
If you plan to use the gui, install {{Pkg|gtkdialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [[Unofficial_user_repositories#archlinuxgr-any|archlinuxgr-any]] repo.<br />
<br />
== Usage ==<br />
<br />
See the [https://github.com/tritonas00/system-tar-and-restore/blob/master/README.md README].</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=459534System-tar-and-restore2016-12-18T18:50:46Z<p>Tritonas00: updated for 6.0</p>
<hr />
<div>[[Category:System recovery]]<br />
{{Merge|Backup|Most of this can be summarized in a few table entries}}<br />
'''System-tar-and-restore''' contains two bash scripts, the main program '''star.sh''' and a gui wrapper '''star-gui.sh'''. Three modes are available: '''Backup''', '''Restore''' and '''Transfer'''. If you plan to use the gui, install {{Pkg|gtkdialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [[Unofficial_user_repositories#archlinuxgr-any|archlinuxgr-any]] repo.<br />
<br />
== Usage ==<br />
<br />
See the [https://github.com/tritonas00/system-tar-and-restore/blob/master/README.md README].</div>Tritonas00https://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=410607Synchronization and backup programs2015-11-29T19:48:16Z<p>Tritonas00: /* Console */</p>
<hr />
<div>[[Category:Data compression and archiving]]<br />
[[Category:System recovery]]<br />
[[de:Backups]]<br />
[[ja:バックアッププログラム]]<br />
[[ru:Backup programs]]<br />
{{Related articles start}}<br />
{{Related|Full system backup with rsync}}<br />
{{Related|Full System Backup with tar}}<br />
{{Related|Disk cloning}}<br />
{{Related|Snapper}}<br />
{{Related articles end}}<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files ({{Ic|/etc/*}}) and the local pacman database (usually {{Ic|/var/lib/pacman/local/*}}).<br />
<br />
== Introduction ==<br />
Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available? (CD, DVD, remote server, external hard drive, etc.)<br />
* How often do I plan to backup? (daily, weekly, monthly, etc.)<br />
* What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)<br />
* How do I plan to restore backups if needed?<br />
<br />
== Incremental backups ==<br />
Applications that can do incremental backups remember and take into account what data has been backed up during the last run and eliminate the need to have duplicates of unchanged data. Restoring the data to a certain point in time would require locating the last full backup and all the incremental backups from then to the moment when it is supposed to be restored. This sort of backup is useful for those who do it very often.<br />
<br />
=== Rsync-type backups ===<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.<br />
<br />
Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression or encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. A downside to rsync-type programs is that they cannot be easily burned and restored from a CD or DVD.<br />
<br />
==== Console ====<br />
* {{App|[[rsync]]|A file transfer program to keep remote files in sync.<br />
** rsync almost always makes a mirror of the source.<br />
** It is possible to restore a full backup before the most recent backup if hardlinks are allowed in the backup file system. See [http://www.ibm.com/developerworks/aix/library/au-spunix_rsync/index.html#backup Back up your data with rsync] for more information.<br />
** If hard links are not allowed, it is impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).<br />
** Standard install on all distros.<br />
** Can run over SSH (port 22) or native rsync protocol (port 873).<br />
** Win32 version available.<br />
|http://rsync.samba.org/|{{Pkg|rsync}}}}<br />
<br />
* {{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups.<br />
** Stores the most recent backup as regular files.<br />
** To revert to older versions, you apply the diff files to recreate the older versions.<br />
** It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change.<br />
** Win32 version available.<br />
|http://www.nongnu.org/rdiff-backup/|{{Pkg|rdiff-backup}}}}<br />
<br />
* {{App|[[rsnapshot]]|A remote filesystem snapshot utility.<br />
** Does not store diffs, instead it copies entire files if they have changed.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.<br />
** Destination filesystem must support hard links.<br />
** Win32 version available.<br />
|http://www.rsnapshot.org/|{{Pkg|rsnapshot}}}}<br />
<br />
* {{App|SafeKeep|A client/server backup system which uses rdiff-backup.<br />
** Integrates with Linux LVM and databases to create consistent backups.<br />
** Bandwidth throttling.<br />
|http://safekeep.sourceforge.net/|{{AUR|safekeep}}}}<br />
<br />
* {{App|Link-Backup|A tool similar to rsync based scripts, but which does not use rsync. NOTE: no upstream activity since 2008. <br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer.<br />
** The backup directory contains {{ic|.catalog}}, a catalog of all unique file instances; backup trees hard-link to this catalog.<br />
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script.<br />
** It copies itself to the server; it does not need to be installed on the server.<br />
** Requires SSH for remote backups.<br />
** It resumes stopped backups; it can even be told to run for an arbitrary number of minutes.<br />
|http://www.scottlu.com/Content/Link-Backup.html|{{AUR|link-backup}}}}<br />
<br />
* {{App|[[Wikipedia:Unison (file synchronizer)|Unison]]|A program that synchronizes files between two machines over network (LAN or Inet) using a smart diff method + rsync. Allows the user to interactively choose which changes to push, pull, or merge.|http://www.cis.upenn.edu/~bcpierce/unison/|{{Pkg|unison}}}}<br />
<br />
* {{App|rsync-snapshot.sh|Another rsync shellscript with smart rotation (non-linear distribution) of backups. Integrity protection, Quotas, Rules and many more features.|http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/}}<br />
<br />
* {{App|osync.sh|Osync is a robust bidirectional file synchronization tool written in bash and based on rsync. It works on local and / or remote directories via ssh tunnels. It's mainly targeted to be launched as cron task, with features turned towards automation among:<br />
** Execution time control<br />
** Fault tolerance with possibility to resume on error<br />
** Soft deletion, on-conflict backups with automatic cleanup<br />
** Alert notifications via email<br />
** Before and /or after time controlled local and / or remote command execution<br />
** File monitor mode<br />
|http://www.netpower.fr/osync}}<br />
<br />
* {{App|gutbackup|The simplest rsync wrapper for backup Linux system.|https://github.com/gutenye/gutbackup|{{AUR|gutbackup}}}}<br />
<br />
* {{App|trinkup|A 60-lines bash script which holds specified amount of incremental backups using rsync and "cp -al" to minimize amount of disk operations.|https://gist.github.com/ei-grad/7610406/raw/trinkup|{{AUR|trinkup}}{{Broken package link|{{aur-mirror|trinkup}}}}}}<br />
<br />
* {{App|keepconf|Is a wrapper over rsync and git, easy and simple to use|https://github.com/rfrail3/keepconf}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Areca Backup|Areca Backup]]|An easy to use and reliable backup solution for Linux and Windows.<br />
** Written in Java.<br />
** Primarily archive-based (zip), but will do file-based backup as well.<br />
** Delta backup supported (stores only changes).<br />
|http://areca.sourceforge.net/|{{AUR|areca}}}}<br />
<br />
* {{App|[[BackupPC]]|A high-performance, enterprise-grade system for backing up Unix, Linux, Windows, and Mac OS X desktops and laptops to a remote server.<br />
** Deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.<br />
** Optional compression support further reducing disk storage.<br />
** No client-side software is needed.<br />
** Simple but powerful web-based UI.<br />
|http://backuppc.sourceforge.net/index.html|{{Pkg|backuppc}}}}<br />
<br />
* {{App|[[Back In Time]]|A simple backup tool for Linux inspired by the [[Wikipedia:FlyBack|FlyBack]] and [https://wiki.ubuntu.com/TimeVault/ TimeVault] projects.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Really is just a front-end to {{ic|rsync}}, {{ic|diff}}, {{ic|cp}}.<br />
** A new snapshot is created only if something changed since the last snapshot.<br />
|http://backintime.le-web.org/|{{AUR|backintime}} or as a prebuild package from [http://arch.coderkun.de/ coderkun's repo]}}<br />
<br />
* {{App|[[Wikipedia:FlyBack|FlyBack]]|A clone of Apple's [[Wikipedia:Time Machine (Mac OS)|Time Machine]], a backup utility for Mac OS X.|http://www.flyback-project.org/|{{AUR|flyback}}{{Broken package link|{{aur-mirror|flyback}}}}}}<br />
<br />
* {{App|Free File Sync|Free File Sync helps you synchronize files and synchronize folders for Windows, Linux and Mac OS X. It is designed to save your time setting up and running backup jobs while having nice visual feedback along the way.<br />
|http://freefilesync.sourceforge.net/|{{AUR|freefilesync}}}}<br />
<br />
* {{App|Grsync|GTK+ interface to rsync|http://www.opbyte.it/grsync/|{{Pkg|grsync}}}}<br />
<br />
* {{App|[[Wikipedia:LuckyBackup|luckyBackup]]|An easy program to backup and sync your files.<br />
** It is written in Qt and C++.<br />
** It has sync, backup (with include and exclude options) and restore capabilities.<br />
** It can do remote connection backups, scheduled backups.<br />
** A command line mode.<br />
|http://luckybackup.sourceforge.net/index.html|{{AUR|luckybackup}}}}<br />
<br />
* {{App|syncBackup|A front-end for rsync that provides a fast and extraordinary copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.<br />
|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}{{Broken package link|{{aur-mirror|syncbackup}}}}}}<br />
<br />
* {{App|TimeShift|TimeShift is a system restore utility which takes incremental snapshots of the system using rsync and hard-links. These snapshots can be restored at a later date to undo all changes that were made to the system after the snapshot was taken. Snapshots can be taken manually or at regular intervals using scheduled jobs.<br />
|https://launchpad.net/timeshift|{{AUR|timeshift}}}}<br />
<br />
=== Other backups ===<br />
Most other backup applications tend to create (big) archive files and (of course) keep track of what's been archived. Creating {{ic|.tar.bz2}} or {{ic|.tar.gz}} archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.<br />
<br />
==== Console ====<br />
* {{App|Arch Backup|A trivial backup script with simple configuration.<br />
** Configurable compression method.<br />
** Multiple backup targets.<br />
|http://code.google.com/p/archlinux-stuff/|{{Pkg|arch-backup}}{{Broken package link|package not found}}}}<br />
<br />
* {{App|[[Backup with hdup|hdup]]|A very simple command line backup tool.<br />
** Creates tar.gz or tar.bz2 archives.<br />
** Supports gpg encryption.<br />
** Supports pushing over SSH.<br />
** Multiple backup targets.<br />
|http://miek.nl/projects/hdup2/|{{AUR|hdup}}}}<br />
<br />
* {{App|rdup|A platform for backups that provides scripts to facilitate backups and delegates the encryption, compression, transfer and packaging to other utilities in a true Unix-way.<br />
** Creates tar.gz archives or rsync-type copy.<br />
** Encryption (gpg, blowfish and others); also applies for rsync-type copy.<br />
** Compression (also for rsync-type copy).<br />
|http://miek.nl/projects/rdup|{{AUR|rdup}}}}<br />
<br />
* {{App|[[Duplicity]]|A simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.<br />
** Supports gpg encryption and signing.<br />
** Supports gzip compression.<br />
** Supports full or incremental backups, incremental backup stores only difference between new and old file.<br />
** Supports pushing over FTP, SSH, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem.<br />
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}<br />
<br />
* {{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive.<br />
** It uses its own format for archives (so you need to have it around when you want to restore).<br />
** Supports splitting backups into more files by size.<br />
** Makefile-type config files, some custom scripts are available along with it.<br />
** Supports basic encryption.<br />
** Automatic backup using [[cron]] is possible with {{AUR|sarab}}{{Broken package link|{{aur-mirror|sarab}}}}.<br />
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}}{{Broken package link|{{aur-mirror|kdar}}}} (fontend)}}<br />
<br />
* {{App|Manent|An algorithmically strong backup and archival program. NOTE: no upstream activity since 2009.<br />
** Efficient backup to anything that looks like a storage.<br />
** Works well over a slow and unreliable network.<br />
** Offers online access to the contents of the backup.<br />
** Backed up storage is completely encrypted.<br />
** Several computers can use the same storage for backup, automatically sharing data.<br />
** Not reliant on timestamps of the remote system to detect changes.<br />
** Cross-platform support for Unicode file names.<br />
|http://code.google.com/p/manent/|{{AUR|manent}}{{Broken package link|{{aur-mirror|manent}}}}}}<br />
<br />
* {{App|btar|tar-compatible archiver<br />
** Fast archive creation (multicore compression or ciphering)<br />
** Arbitrary chain of compression/ciphers (calls any compression/ciphering programs)<br />
** Indexed archive retrieval or listing<br />
** Redundancy<br />
** Serialization through pipes (and only one file per backup)<br />
** Can be extracted or checked with gnutar<br />
** Differential backups of multiple levels<br />
** Optional encoding of big files with rsync-differences<br />
|http://viric.name/cgi-bin/btar|{{AUR|btar}}{{Broken package link|{{aur-mirror|btar}}}}}}<br />
<br />
* {{App|burp|Burp is a network backup and restore program<br />
** Uses librsync in order to save network traffic and to save on the amount of space that is used by each backup. <br />
** It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers.<br />
** deduplication<br />
** SSL/TLS connections<br />
** automation the process of generating SSL certificates<br />
** data encryption<br />
** security models [http://burp.grke.org/txt/security-models.txt]<br />
|http://burp.grke.org|{{AUR|burp-backup}}}}<br />
<br />
* {{App|obnam|Easy, secure backup program<br />
** Snapshot backups. Every generation looks like a complete snapshot.<br />
** Data chunk de-duplication, across files, and backup generations. This results in incremental backups.<br />
** Optionally encrypted backups, using GnuPG.<br />
** FUSE mountable backup repository.<br />
|http://liw.fi/obnam/|{{AUR|obnam}}}}<br />
<br />
* {{App|System Tar & Restore|Backup and Restore your system using tar or Transfer it with rsync<br />
** CLI and Dialog interfaces<br />
** Easy backup and restore wizards<br />
** Creates ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'' or ''.tar'' archives<br />
** Supports openssl / gpg encryption<br />
** Uses rsync to transfer a running system<br />
** Supports Grub2, Syslinux, EFISTUB/efibootmgr and Systemd/bootctl<br />
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}<br />
<br />
* {{App|Packrat|A simple, modular backup system using [[Wikipedia:DAR (Disk Archiver)|DAR]]<br />
** Full or incremental backups stored locally, on a remote system via SSH, or on Amazon S3<br />
|http://www.zeroflux.org/projects|{{AUR|packrat}}{{Broken package link|{{aur-mirror|packrat}}}}}}<br />
<br />
* {{App|Attic|A deduplicating backup program for efficient and secure backups.<br />
** Space efficient storage: Variable block size deduplication is used to reduce the number of bytes stored by detecting redundant data.<br />
** Optional data encryption: All data can be protected using 256-bit AES encryption and data integrity and authenticity is verified using HMAC-SHA256.<br />
** Off-site backups: Any data can be stored on any remote host accessible over SSH (as long as Attic is installed).<br />
** Backups mountable as filesystems: Backup archives are mountable as userspace filesystems for easy backup verification and restores.<br />
|https://github.com/jborg/attic/|{{AUR|attic}}}}<br />
<br />
* {{App|Snebu|File-level deduplicating snapshot backup with SQLite3 catalog db.<br />
** Functionally similar to rsync/snapshot style backups, however doesn't use hardlinks in the filesystem.<br />
** Backed up files are stored in lzop-compatible files, in the designated "vault" directory.<br />
** Metadata stored in SQLite3 db, linking backup sets to file metadata to compressed files in the vault.<br />
** Supports arbitrary retention schedules (such as daily/weekly/monthly) which can be individually expired<br />
|http://www.snebu.com|{{AUR|snebu}}{{Broken package link|{{aur-mirror|snebu}}}}}}<br />
<br />
* {{App|ZBackup|A globally-deduplicating backup tool, based on the ideas found in rsync.<br />
** Parallel LZMA or LZO compression of the stored data<br />
** Built-in AES encryption of the stored data<br />
** Possibility to delete old backup data<br />
** Use of a 64-bit rolling hash, keeping the amount of soft collisions to zero<br />
** Repository consists of immutable files. No existing files are ever modified<br />
** Possibility to exchange data between repos without recompression<br />
|http://zbackup.org/|{{AUR|zbackup}}}}<br />
<br />
==== Graphical ====<br />
* {{App|Backerupper|A simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** Creates {{ic|.tar.gz}} archives.<br />
** Configurable backup frequency, backup time and max copies.<br />
|http://sourceforge.net/projects/backerupper/|{{AUR|backerupper}}{{Broken package link|{{aur-mirror|backerupper}}}}}}<br />
<br />
* {{App|[[Duplicity|Déjà Dup]]|A simple GTK+ backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.<br />
** Automatic, timed backup configurable in GUI.<br />
** Restore wizard.<br />
** Integrated into the GNOME Files file manager.<br />
** Inherits several features of duplicity.<br />
|https://launchpad.net/deja-dup|{{Pkg|deja-dup}}}}<br />
<br />
* {{App|Synkron|A folder synchronization tool.<br />
** Syncs multiple folders.<br />
** Can exclude files from sync based on wildcards.<br />
** Restores files.<br />
** Cross-platform support.<br />
|http://synkron.sourceforge.net/|{{AUR|synkron}}{{Broken package link|{{aur-mirror|synkron}}}}}}<br />
<br />
==== Console and graphical ====<br />
<br />
* {{App|[[Wikipedia:Bacula|Bacula]]|A client-server enterprise level computer backup system for heterogeneous networks.<br />
** This is the Swiss army knife of backup solutions.<br />
** Can be run on a single machine or used to back up an entire network.<br />
** Supports Linux, UNIX, Windows, and Mac OS X backup clients.<br />
** Supports a variety of backup devices, including tape libraries.<br />
** Can be used to backup to multiple removable storage devices.<br />
** Provides or supports command line console, GUI, and web interfaces.<br />
** The back-end is a catalog stored in MySQL, PostgreSQL, or SQLite.<br />
** Provides extensive documentation.<br />
** Appears to be the most downloaded open source backup solution<br />
|http://www.bacula.org|{{AUR|bacula-common}}}}<br />
<br />
== Cloud backups ==<br />
<br />
See also [[Wikipedia:Comparison of online backup services]].<br />
<br />
* {{App|[[Wikipedia:Barracuda_Networks#Products|Copy]]|A fair solution to shared folders.<br />
** 15GB free.<br />
** Shared folders size are split between people.<br />
** Daemon to sync files between the cloud and the computer.<br />
** Almost any platform supported.<br />
** Offers AES-256 encryption.<br />
|https://www.copy.com/home/|{{AUR|copy-agent}}}}<br />
<br />
* {{App|[[CrashPlan]]|An online/offsite backup solution.<br />
** Unlimited online space for very reasonable pricing.<br />
** Automatic and incremental backups to multiple destinations.<br />
** Intuitive GUI.<br />
** Offers encryption and de-duplication.<br />
** Software is free for local use.<br />
** Restore prevents simultaneous backing up<br />
|http://www.crashplan.com/|{{AUR|crashplan}}}}<br />
<br />
* {{App|[[Dropbox]]|A popular file-sharing service.<br />
** A daemon monitors a specified directory, and uploads incremental changes to dropbox.com. <br />
** Changes automatically show up on your other computers. <br />
** Includes file sharing and a public directory. <br />
** You can recover deleted files. <br />
** Community written add-ons. <br />
** Free accounts have 2GB storage.<br />
|http://www.dropbox.com|{{AUR|dropbox}} {{AUR|nautilus-dropbox}}}}<br />
<br />
* {{App|[[Wikipedia:Google Drive|Google Drive]]|A file storage and synchronization service provided by Google.<br />
** Provides cloud storage, file sharing and collaborative editing.<br />
** Multiple clients are available.<br />
|https://drive.google.com|{{AUR|google-drive-ocamlfuse}} (free), {{AUR|drive}} (free), {{AUR|insync}} (non-free)}}<br />
<br />
* {{App|[[Wikipedia:Jungle Disk|Jungle Disk]]|An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.<br />
** A GNOME Files extension.<br />
** Only paid plans available.<br />
|http://www.jungledisk.com/|{{AUR|nautilus-jungledisk}}{{Broken package link|{{aur-mirror|nautilus-jungledisk}}}}}}<br />
<br />
* {{App|[[Wikipedia:Mega (website)|MEGA]]|Successor to the MegaUpload file-sharing service.<br />
** Free accounts are 50GB with paid plans available for more space.<br />
** Offers encryption and de-duplication.<br />
** Usualy accessed through its web interface but other tools exist.<br />
|https://mega.co.nz|{{AUR|megatools}}, {{AUR|megasync}}, {{AUR|megafuse}}{{Broken package link|{{aur-mirror|megafuse}}}}}}<br />
<br />
* {{App|Nutstore|A cloud service that lets you sync and share files anywhere.<br />
** Multiple file folders sync.<br />
** Service for Chinese users.<br />
|http://jianguoyun.com/|{{AUR|nutstore}}}}<br />
<br />
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.<br />
** Free and paid version available.<br />
** Free account holds 2GB.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
|https://spideroak.com/|{{AUR|spideroak}}{{Broken package link|{{aur-mirror|spideroak}}}}}}<br />
<br />
* {{App|[[Wikipedia:Storage Made Easy|Storage Made Easy]]|Provides unified access to numerous cloud storage services, as well as its own storage.<br />
** Free and paid version available.<br />
** Free account holds 5GB and allows access to up to three other cloud storage providers.<br />
** Supports local directory via fuse, as well as web access.<br />
** Supports many cloud storage services, such as Box, Dropbox, Google Drive, Onedrive, and others.<br />
|http://storagemadeeasy.com/|{{AUR|smestorage}}{{Broken package link|{{aur-mirror|smestorage}}}}}}<br />
<br />
* {{App|[[Wikipedia:Tahoe-LAFS|Tahoe-LAFS]]|Tahoe Least-Authority Filesystem is a free and open, secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.<br />
|https://tahoe-lafs.org/|{{AUR|tahoe-lafs}}}}<br />
<br />
* {{App|[[Wikipedia:Tarsnap|Tarsnap]]|A secure online backup service for BSD, Linux, OS X, Solaris and Windows (through Cygwin).<br />
** Compressed encrypted backups to Amazon S3 Servers.<br />
** Automate via [[cron]].<br />
** Incremental backups.<br />
** Backup any files or directories.<br />
** Command line only client.<br />
** Pay only for usage (bandwidth and storage). <br />
|http://www.tarsnap.com|{{Pkg|tarsnap}}}}<br />
<br />
* {{App|[[Wikipedia:IDrive_Inc.|iDrive]]|Universal Online Backup.<br />
** Multiple Device Backup.<br />
** Online File Sync. <br />
** Real-Time Backup. <br />
** Backup and Access from Mobile Devices. <br />
** Remote Manage. <br />
** No GUI Front end for Linux, command line based. A wrapper script is available to make it easier to use.<br />
|https://www.idrive.com/|{{AUR|idevsutil}}{{Broken package link|{{aur-mirror|idevsutil}}}}, {{AUR|idrive-wrapper}}{{Broken package link|{{aur-mirror|idrive-wrapper}}}}}}<br />
<br />
* {{App|CloudBacko|Enterprise-grade cloud backup tool for Linux, Mac and Windows.<br />
** Closed source. Free, Lite and Pro versions available.<br />
** Written in Java.<br />
** Encrypted backup to multiple cloud destinations. <br />
** Supports multiple cloud destinations combined as one storage pool.<br />
** No installation required in Free version.<br />
** GUI frontend for Linux in Pro version.<br />
** Virtual machine backup available in Pro version.<br />
|http://www.cloudbacko.com/}}<br />
<br />
== Cooperative storage cloud backups ==<br />
<br />
A [[Wikipedia:Cooperative_storage_cloud|cooperative storage cloud]] is a decentralized model of networked online storage where data is stored on multiple computers, hosted by the participants cooperating in the cloud. <br />
<br />
* {{App|[http://www.symform.com Symform]| A peer-to-peer cloud backup service.<br />
** Unlimited free backup in exchange for 2:1 storage space contribution with an always-connected device (at least 80% uptime).<br />
** [http://www.symform.com/our-solutions/pricing/ Payment options exist].<br />
** First 10GB of backup storage is free (no contribution needed).<br />
** In addition to paid support, support plans in exchange for extended contribution (300GB+) exist.<br />
** Automatic and incremental backups.<br />
** Data is encrypted before leaving the computer, though keys are also stored on the Symform's servers.[http://virtualserverguy.com/blog/2012/12/19/symform-security-analysis]<br />
** Customizable limits for bandwidth consumption.<br />
** Ability to have a local copy ("Hot Copy") of the backed up data on a different disk or computer.<br />
** Ability to have synchronized folders between nodes (Dropbox-like).<br />
** Closed source, using mono. Windows clients available.<br />
|http://www.symform.com/|{{AUR|symform}}{{Broken package link|{{aur-mirror|symform}}}}}}<br />
<br />
== Non-incremental backups ==<br />
Another type of backups are those used in case of a disaster. These include application that allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. The contains complete system images from one or more specific points in time and are frequently used by to record known good configurations.<br />
<br />
* {{App|Q7Z|P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.<br />
** Updates existing archives quickly.<br />
** Backup multiple folders to a storage location.<br />
** Create or extract protected archives.<br />
** Lessen effort by using archiving profiles and lists.<br />
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}<br />
<br />
* {{App|[[Partclone]]|A tool that can be used to back up and restore a partition while considering only used blocks.<br />
** Supports ext2, ext3, hfs+, reiser3.5, reiser3.6, reiser4, ext4 and btrfs.<br />
** Supports compression.<br />
|http://partclone.org/|{{Pkg|partclone}}}}<br />
<br />
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|A backup and disaster recovery application that runs from a bootable Linux CD image.<br />
** Is capable of bare-metal backup and recovery of disk partitions.<br />
** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.<br />
|http://www.redobackup.org/}}<br />
<br />
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|A disaster recovery, disk cloning, disk imaging and deployment solution.<br />
** Boots from live CD, USB flash drive, or PXE server.<br />
** Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.<br />
** Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.<br />
** Multicasting server to restore to many machines at once.<br />
|http://clonezilla.org/|{{Pkg|clonezilla}}}}<br />
<br />
* {{App|[[Wikipedia:Partimage|Partimage]]|A disk cloning utility for Linux/UNIX environments.<br />
** Has a Live CD.<br />
** Supports the most popular filesystems on Linux, Windows and Mac OS.<br />
** Compression.<br />
** Saving to multiple CDs or DVDs or across a network using Samba/NFS.<br />
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}<br />
<br />
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool<br />
** Support for basic file attributes (permissions, owner, ...).<br />
** Support for multiple file-systems per archive.<br />
** Support for extended attributes (they are used by SELinux).<br />
** Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.<br />
** Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of a Windows partitions).<br />
** Checksumming of everything which is written in the archive (headers, data blocks, whole files).<br />
** Ability to restore an archive which is corrupt (it will just skip the current file).<br />
** Multi-threaded lzo, gzip, bzip2, lzma compression.<br />
** Support for splitting large archives into several files with a fixed maximum size.<br />
** Encryption of the archive using a password. Based on blowfish from libcrypto from [[OpenSSL]].<br />
** Support backup of a mounted root filesystem (-A option).<br />
|http://www.fsarchiver.org/Main_Page|{{Pkg|fsarchiver}}}}<br />
<br />
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|A disaster recovery solution to create backup media that can be used to redeploy the damaged system.<br />
** Image-based backups, supporting Linux/Windows.<br />
** Compression rate is adjustable.<br />
** Can backup live systems (without having to halt it).<br />
** Can split image over many files.<br />
** Supports booting to a Live CD to perform a full restore.<br />
** Can backup/restore over NFS, from CDs, tape drives and and other media.<br />
** Can verify backups.<br />
|http://www.mondorescue.org/|{{AUR|mondo}}}}<br />
<br />
== Versioning systems ==<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
=== Version control systems ===<br />
<br />
See also [[Wikipedia:Comparison of revision control software]].<br />
<br />
* {{App|[[Git]]|A distributed revision control and source code management system with an emphasis on speed.<br />
** Very easy creation, merging, and deletion of branches.<br />
** Nearly all operations are performed locally, giving it a huge speed advantage on centralized systems.<br />
** Has a "staging area" or "index", this is an intermediate area where commits can be formatted and reviewed before completing the commit.<br />
** Does not handle binary files very well.<br />
|http://git-scm.com/|{{Pkg|git}}}}<br />
<br />
* {{App|[[Subversion]]|A full-featured centralized version control system originally designed to be a better CVS.<br />
** Renamed/copied/moved/removed files retain full revision history.<br />
** Native support for binary files, with space-efficient binary-diff storage.<br />
** Costs proportional to change size, not to data size.<br />
** Allows arbitrary metadata ("properties") to be attached to any file or directory. <br />
|http://subversion.apache.org/|{{Pkg|subversion}}}}<br />
<br />
* {{App|[[Mercurial]]|A distributed version control system written in Python and similar in many ways to Git.<br />
** Platform independent.<br />
** Support for [http://mercurial.selenic.com/wiki/UsingExtensions extensions].<br />
** A set of commands consistent with Subversion.<br />
** Supports tags.<br />
|http://mercurial.selenic.com/|{{Pkg|mercurial}}}}<br />
<br />
* {{App|[[Wikipedia:Bazaar (software)|Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.<br />
** Similar commands to Subversion.<br />
** Supports working with or without a central server.<br />
** Support for working with some other revision control systems<br />
** Complete Unicode support.<br />
|http://bazaar.canonical.com/en/|{{Pkg|bzr}}}}<br />
<br />
* {{App|[[Wikipedia:Darcs|Darcs]]|A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.<br />
** Offline mode.<br />
** Easy branching and merging.<br />
** Written in Haskell.<br />
** Not very fast.<br />
|http://darcs.net/|{{Pkg|darcs}}}}<br />
<br />
=== VCS-based backups ===<br />
<br />
* {{App|Gibak|A backup system based on [[Git]].<br />
** Supports binary diffs.<br />
** Uses all of Git's features (such as {{ic|.gitignore}} for filtering files).<br />
** Uses Git's hook system to save information that Git does not (permissions, mtime, empty directories, etc).<br />
|https://github.com/pangloss/gibak|{{AUR|gibak}}{{Broken package link|{{aur-mirror|gibak}}}}}}<br />
* {{App|bup|A fledgling Git-based backup solution written in Python and C.<br />
** Uses a rolling checksum algorithm (similar to rsync) to split large files into chunks.<br />
** Can back up directly to a remote bup server.<br />
** Has an improved index format to allow you to track many files.<br />
|https://github.com/bup/bup|{{Pkg|bup}} {{AUR|bup-git}}}}<br />
* {{App|ColdStorage|Another backup tool using Git at its core, written in [[Qt]].|http://gitorious.org/coldstorage|{{AUR|coldstorage-git}}{{Broken package link|{{aur-mirror|coldstorage-git}}}}}}<br />
<br />
== See also ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]<br />
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]<br />
* [http://www.si-journal.org/index.php/JSI/article/view/205 Performance comparison of five remote incremental backup tools: Rsync, Rdiff-backup, Duplicity, Areca and Link-Backup]</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=402313System-tar-and-restore2015-09-29T23:43:30Z<p>Tritonas00: updated for 5.0</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]]. Also a [https://github.com/tritonas00/system-tar-and-restore#gui gui wrapper] is available. Install {{Pkg|gtkdialog}} and run {{ic|star-gui.sh}} as root in order to use it.<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%Y-%m-%d-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]], [[RAID]] or [[Dm-crypt]] you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.) and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition and it's mount point.<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': In BIOS systems you can choose {{Pkg|grub}} or {{Pkg|syslinux}} and the target disk. If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains. In case of UEFI you can choose grub, EFISTUB/efibootmgr or Systemd/bootctl. Also you can define additional kernel options. <br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|/home/*/.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
}}<br />
<br />
{{Warning|If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=393254System-tar-and-restore2015-08-23T11:22:27Z<p>Tritonas00: changed default name</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]]. Also a [https://github.com/tritonas00/system-tar-and-restore#gui gui wrapper] is available. Install {{Pkg|gtkdialog}} and run {{ic|star-gui.sh}} as root in order to use it.<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%Y-%m-%d-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|/home/*/.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
}}<br />
<br />
{{Warning|If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=393007System-tar-and-restore2015-08-20T23:07:38Z<p>Tritonas00: added link</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]]. Also a [https://github.com/tritonas00/system-tar-and-restore#gui gui wrapper] is available. Install {{Pkg|gtkdialog}} and run {{ic|star-gui.sh}} as root in order to use it.<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|/home/*/.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
}}<br />
<br />
{{Warning|If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=393006System-tar-and-restore2015-08-20T23:05:10Z<p>Tritonas00: added wrapper info</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]]. Also a gui wrapper is available. Install {{Pkg|gtkdialog}} and run {{ic|star-gui.sh}} as root in order to use it.<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|/home/*/.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
}}<br />
<br />
{{Warning|If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=358982System-tar-and-restore2015-02-01T10:06:43Z<p>Tritonas00: /* Restore/Transfer */ removed newline</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/*}}, {{ic|/proc/*}}, {{ic|/dev/*}}, {{ic|/media/*}}, {{ic|/sys/*}}, {{ic|/tmp/*}}, {{ic|/mnt/*}}, {{ic|/home/*/.gvfs}}, {{ic|/var/run/*}}, {{ic|/var/lock/*}}, {{ic|lost+found}}.<br />
}}<br />
<br />
{{Warning|If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=357151System-tar-and-restore2015-01-19T18:15:01Z<p>Tritonas00: /* Restore/Transfer */ added new line</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations:<br />
: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: <br />{{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=357149System-tar-and-restore2015-01-19T18:09:15Z<p>Tritonas00: /* Backup */ added new line</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations:<br />
: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=353690Synchronization and backup programs2014-12-28T00:57:19Z<p>Tritonas00: /* Console */ updated system-tar-and-restore info</p>
<hr />
<div>[[Category:Data compression and archiving]]<br />
[[Category:System recovery]]<br />
[[de:Backups]]<br />
[[ja:Backup programs]]<br />
[[ru:Backup Programs]]<br />
{{Related articles start}}<br />
{{Related|Full system backup with rsync}}<br />
{{Related|Full System Backup with tar}}<br />
{{Related|Disk cloning}}<br />
{{Related|Snapper}}<br />
{{Related articles end}}<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files ({{Ic|/etc/*}}) and the local pacman database (usually {{Ic|/var/lib/pacman/local/*}}).<br />
<br />
== Introduction ==<br />
Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available? (CD, DVD, remote server, external hard drive, etc.)<br />
* How often do I plan to backup? (daily, weekly, monthly, etc.)<br />
* What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)<br />
* How do I plan to restore backups if needed?<br />
<br />
== Incremental backups ==<br />
Applications that can do incremental backups remember and take into account what data has been backed up during the last run and eliminate the need to have duplicates of unchanged data. Restoring the data to a certain point in time would require locating the last full backup and all the incremental backups from then to the moment when it is supposed to be restored. This sort of backup is useful for those who do it very often.<br />
<br />
=== Rsync-type backups ===<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.<br />
<br />
Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression or encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. A downside to rsync-type programs is that they cannot be easily burned and restored from a CD or DVD.<br />
<br />
==== Console ====<br />
* {{App|[[rsync]]|A file transfer program to keep remote files in sync.<br />
** rsync almost always makes a mirror of the source.<br />
** It is possible to restore a full backup before the most recent backup if hardlinks are allowed in the backup file system. See [http://www.ibm.com/developerworks/aix/library/au-spunix_rsync/index.html#backup Back up your data with rsync] for more information.<br />
** If hard links are not allowed, it is impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).<br />
** Standard install on all distros.<br />
** Can run over SSH (port 22) or native rsync protocol (port 873).<br />
** Win32 version available.<br />
|http://rsync.samba.org/|{{Pkg|rsync}}}}<br />
<br />
* {{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups.<br />
** Stores the most recent backup as regular files.<br />
** To revert to older versions, you apply the diff files to recreate the older versions.<br />
** It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change.<br />
** Win32 version available.<br />
|http://www.nongnu.org/rdiff-backup/|{{Pkg|rdiff-backup}}}}<br />
<br />
* {{App|[[rsnapshot]]|A remote filesystem snapshot utility.<br />
** Does not store diffs, instead it copies entire files if they have changed.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.<br />
** Destination filesystem must support hard links.<br />
** Win32 version available.<br />
|http://www.rsnapshot.org/|{{Pkg|rsnapshot}}}}<br />
<br />
* {{App|SafeKeep|A client/server backup system which uses rdiff-backup.<br />
** Integrates with Linux LVM and databases to create consistent backups.<br />
** Bandwidth throttling.<br />
|http://safekeep.sourceforge.net/|{{AUR|safekeep}}}}<br />
<br />
* {{App|Link-Backup|A tool similar to rsync based scripts, but which does not use rsync. NOTE: no upstream activity since 2008. <br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer.<br />
** The backup directory contains {{ic|.catalog}}, a catalog of all unique file instances; backup trees hard-link to this catalog.<br />
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script.<br />
** It copies itself to the server; it does not need to be installed on the server.<br />
** Requires SSH for remote backups.<br />
** It resumes stopped backups; it can even be told to run for an arbitrary number of minutes.<br />
|http://www.scottlu.com/Content/Link-Backup.html|{{AUR|link-backup}}}}<br />
<br />
* {{App|[[Wikipedia:Unison (file synchronizer)|Unison]]|A program that synchronizes files between two machines over network (LAN or Inet) using a smart diff method + rsync. Allows the user to interactively choose which changes to push, pull, or merge.|http://www.cis.upenn.edu/~bcpierce/unison/|{{Pkg|unison}}}}<br />
<br />
* {{App|rsync-snapshot.sh|Another rsync shellscript with smart rotation (non-linear distribution) of backups. Integrity protection, Quotas, Rules and many more features.|http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/}}<br />
<br />
* {{App|osync.sh|Osync is a robust bidirectional file synchronization tool written in bash and based on rsync. It works on local and / or remote directories via ssh tunnels. It's mainly targeted to be launched as cron task, with features turned towards automation among:<br />
** Execution time control<br />
** Fault tolerance with possibility to resume on error<br />
** Soft deletion, on-conflict backups with automatic cleanup<br />
** Alert notifications via email<br />
** Before and /or after time controlled local and / or remote command execution<br />
** File monitor mode<br />
|http://www.netpower.fr/osync}}<br />
<br />
* {{App|oldtime|A bash script using rsync to provide a backup solution.|https://github.com/GutenYe/oldtime|{{AUR|oldtime}}}}<br />
<br />
* {{App|trinkup|A 60-lines bash script which holds specified amount of incremental backups using rsync and "cp -al" to minimize amount of disk operations.|https://gist.github.com/ei-grad/7610406/raw/trinkup|{{AUR|trinkup}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Areca Backup|Areca Backup]]|An easy to use and reliable backup solution for Linux and Windows.<br />
** Written in Java.<br />
** Primarily archive-based (zip), but will do file-based backup as well.<br />
** Delta backup supported (stores only changes).<br />
|http://areca.sourceforge.net/|{{AUR|areca}}}}<br />
<br />
* {{App|[[BackupPC]]|A high-performance, enterprise-grade system for backing up Unix, Linux, Windows, and Mac OS X desktops and laptops to a remote server.<br />
** Deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.<br />
** Optional compression support further reducing disk storage.<br />
** No client-side software is needed.<br />
** Simple but powerful web-based UI.<br />
|http://backuppc.sourceforge.net/index.html|{{Pkg|backuppc}}}}<br />
<br />
* {{App|[[Back In Time]]|A simple backup tool for Linux inspired by the [[Wikipedia:FlyBack|FlyBack]] and [https://wiki.ubuntu.com/TimeVault/ TimeVault] projects.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Really is just a front-end to {{ic|rsync}}, {{ic|diff}}, {{ic|cp}}.<br />
** A new snapshot is created only if something changed since the last snapshot.<br />
|http://backintime.le-web.org/|{{AUR|backintime}} or as a prebuild package from [http://arch.coderkun.de/ coderkun's repo]}}<br />
<br />
* {{App|[[Wikipedia:FlyBack|FlyBack]]|A clone of Apple's [[Wikipedia:Time Machine (Mac OS)|Time Machine]], a backup utility for Mac OS X.|http://www.flyback-project.org/|{{AUR|flyback}}}}<br />
<br />
* {{App|Free File Sync|Free File Sync helps you synchronize files and synchronize folders for Windows, Linux and Mac OS X. It is designed to save your time setting up and running backup jobs while having nice visual feedback along the way.<br />
|http://freefilesync.sourceforge.net/|{{AUR|freefilesync}}}}<br />
<br />
* {{App|Grsync|GTK+ interface to rsync|http://www.opbyte.it/grsync/|{{Pkg|grsync}}}}<br />
<br />
* {{App|[[Wikipedia:LuckyBackup|luckyBackup]]|An easy program to backup and sync your files.<br />
** It is written in Qt and C++.<br />
** It has sync, backup (with include and exclude options) and restore capabilities.<br />
** It can do remote connection backups, scheduled backups.<br />
** A command line mode.<br />
|http://luckybackup.sourceforge.net/index.html|{{AUR|luckybackup}}}}<br />
<br />
* {{App|syncBackup|A front-end for rsync that provides a fast and extraordinary copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.<br />
|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}}}<br />
<br />
* {{App|TimeShift|TimeShift is a system restore utility which takes incremental snapshots of the system using rsync and hard-links. These snapshots can be restored at a later date to undo all changes that were made to the system after the snapshot was taken. Snapshots can be taken manually or at regular intervals using scheduled jobs.<br />
|https://launchpad.net/timeshift|{{AUR|timeshift}}}}<br />
<br />
=== Other backups ===<br />
Most other backup applications tend to create (big) archive files and (of course) keep track of what's been archived. Creating {{ic|.tar.bz2}} or {{ic|.tar.gz}} archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.<br />
<br />
==== Console ====<br />
* {{App|Arch Backup|A trivial backup script with simple configuration.<br />
** Configurable compression method.<br />
** Multiple backup targets.<br />
|http://code.google.com/p/archlinux-stuff/|{{Pkg|arch-backup}}}}<br />
<br />
* {{App|[[Backup with hdup|hdup]]|A very simple command line backup tool.<br />
** Creates tar.gz or tar.bz2 archives.<br />
** Supports gpg encryption.<br />
** Supports pushing over SSH.<br />
** Multiple backup targets.<br />
|http://miek.nl/projects/hdup2/|{{AUR|hdup}}}}<br />
<br />
* {{App|rdup|A platform for backups that provides scripts to facilitate backups and delegates the encryption, compression, transfer and packaging to other utilities in a true Unix-way.<br />
** Creates tar.gz archives or rsync-type copy.<br />
** Encryption (gpg, blowfish and others); also applies for rsync-type copy.<br />
** Compression (also for rsync-type copy).<br />
|http://miek.nl/projects/rdup|{{AUR|rdup}}}}<br />
<br />
* {{App|[[Duplicity]]|A simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.<br />
** Supports gpg encryption and signing.<br />
** Supports gzip compression.<br />
** Supports full or incremental backups, incremental backup stores only difference between new and old file.<br />
** Supports pushing over FTP, SSH, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem.<br />
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}<br />
<br />
* {{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive.<br />
** It uses its own format for archives (so you need to have it around when you want to restore).<br />
** Supports splitting backups into more files by size.<br />
** Makefile-type config files, some custom scripts are available along with it.<br />
** Supports basic encryption.<br />
** Automatic backup using [[cron]] is possible with {{AUR|sarab}}.<br />
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}} (fontend)}}<br />
<br />
* {{App|Manent|An algorithmically strong backup and archival program. NOTE: no upstream activity since 2009.<br />
** Efficient backup to anything that looks like a storage.<br />
** Works well over a slow and unreliable network.<br />
** Offers online access to the contents of the backup.<br />
** Backed up storage is completely encrypted.<br />
** Several computers can use the same storage for backup, automatically sharing data.<br />
** Not reliant on timestamps of the remote system to detect changes.<br />
** Cross-platform support for Unicode file names.<br />
|http://code.google.com/p/manent/|{{AUR|manent}}}}<br />
<br />
* {{App|btar|tar-compatible archiver<br />
** Fast archive creation (multicore compression or ciphering)<br />
** Arbitrary chain of compression/ciphers (calls any compression/ciphering programs)<br />
** Indexed archive retrieval or listing<br />
** Redundancy<br />
** Serialization through pipes (and only one file per backup)<br />
** Can be extracted or checked with gnutar<br />
** Differential backups of multiple levels<br />
** Optional encoding of big files with rsync-differences<br />
|http://viric.name/cgi-bin/btar|{{AUR|btar}}}}<br />
<br />
* {{App|burp|Burp is a network backup and restore program<br />
** Uses librsync in order to save network traffic and to save on the amount of space that is used by each backup. <br />
** It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers.<br />
** deduplication<br />
** SSL/TLS connections<br />
** automation the process of generating SSL certificates<br />
** data encryption<br />
** security models [http://burp.grke.org/txt/security-models.txt]<br />
|http://burp.grke.org|{{AUR|burp-backup}}}}<br />
<br />
* {{App|obnam|Easy, secure backup program<br />
** Snapshot backups. Every generation looks like a complete snapshot.<br />
** Data chunk de-duplication, across files, and backup generations. This results in incremental backups.<br />
** Optionally encrypted backups, using GnuPG.<br />
** FUSE mountable backup repository.<br />
|http://liw.fi/obnam/|{{AUR|obnam}}}}<br />
<br />
* {{App|System Tar & Restore|Backup and Restore your system using tar or Transfer it with rsync<br />
** CLI and Dialog interfaces<br />
** Easy backup and restore wizards<br />
** Creates ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'' or ''.tar'' archives<br />
** Supports openssl / gpg encryption<br />
** Uses rsync to transfer a running system<br />
** Supports Grub2 and Syslinux<br />
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}<br />
<br />
* {{App|Packrat|A simple, modular backup system using [[Wikipedia:DAR (Disk Archiver)|DAR]]<br />
** Full or incremental backups stored locally, on a remote system via SSH, or on Amazon S3<br />
|http://www.zeroflux.org/projects|{{AUR|packrat}}}}<br />
<br />
* {{App|Attic|A deduplicating backup program for efficient and secure backups.<br />
** Space efficient storage: Variable block size deduplication is used to reduce the number of bytes stored by detecting redundant data.<br />
** Optional data encryption: All data can be protected using 256-bit AES encryption and data integrity and authenticity is verified using HMAC-SHA256.<br />
** Off-site backups: Any data can be stored on any remote host accessible over SSH (as long as Attic is installed).<br />
** Backups mountable as filesystems: Backup archives are mountable as userspace filesystems for easy backup verification and restores.<br />
|https://github.com/jborg/attic/|{{AUR|attic}}}}<br />
<br />
* {{App|Snebu|File-level deduplicating snapshot backup with SQLite3 catalog db.<br />
** Functionally similar to rsync/snapshot style backups, however doesn't use hardlinks in the filesystem.<br />
** Backed up files are stored in lzop-compatible files, in the designated "vault" directory.<br />
** Metadata stored in SQLite3 db, linking backup sets to file metadata to compressed files in the vault.<br />
** Supports arbitrary retention schedules (such as daily/weekly/monthly) which can be individually expired<br />
|http://www.snebu.com|{{AUR|snebu}}}}<br />
<br />
==== Graphical ====<br />
* {{App|Backerupper|A simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** Creates {{ic|.tar.gz}} archives.<br />
** Configurable backup frequency, backup time and max copies.<br />
|http://sourceforge.net/projects/backerupper/|{{AUR|backerupper}}}}<br />
<br />
* {{App|[[Duplicity|Déjà Dup]]|A simple GTK+ backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.<br />
** Automatic, timed backup configurable in GUI.<br />
** Restore wizard.<br />
** Integrated into the GNOME Files file manager.<br />
** Inherits several features of duplicity.<br />
|https://launchpad.net/deja-dup|{{Pkg|deja-dup|}}}}<br />
<br />
* {{App|Synkron|A folder synchronization tool.<br />
** Syncs multiple folders.<br />
** Can exclude files from sync based on wildcards.<br />
** Restores files.<br />
** Cross-platform support.<br />
|http://synkron.sourceforge.net/|{{AUR|synkron}}}}<br />
<br />
==== Console and graphical ====<br />
<br />
* {{App|[[Wikipedia:Bacula|Bacula]]|A client-server enterprise level computer backup system for heterogeneous networks.<br />
** This is the Swiss army knife of backup solutions.<br />
** Can be run on a single machine or used to back up an entire network.<br />
** Supports Linux, UNIX, Windows, and Mac OS X backup clients.<br />
** Supports a variety of backup devices, including tape libraries.<br />
** Can be used to backup to multiple removable storage devices.<br />
** Provides or supports command line console, GUI, and web interfaces.<br />
** The back-end is a catalog stored in MySQL, PostgreSQL, or SQLite.<br />
** Provides extensive documentation.<br />
** Appears to be the most downloaded open source backup solution<br />
|http://www.bacula.org|{{AUR|bacula-common}}}}<br />
<br />
== Cloud backups ==<br />
<br />
See also [[Wikipedia:Comparison of online backup services]].<br />
<br />
* {{App|[[Wikipedia:Barracuda_Networks#Products|Copy]]|A fair solution to shared folders.<br />
** 15GB free.<br />
** Shared folders size are split between people.<br />
** Daemon to sync files between the cloud and the computer.<br />
** Almost any platform supported.<br />
** Offers AES-256 encryption.<br />
|https://www.copy.com/home/|{{AUR|copy-agent}}}}<br />
<br />
* {{App|[[CrashPlan]]|An online/offsite backup solution.<br />
** Unlimited online space for very reasonable pricing.<br />
** Automatic and incremental backups to multiple destinations.<br />
** Intuitive GUI.<br />
** Offers encryption and de-duplication.<br />
** Software is free for local use.<br />
** Restore prevents simultaneous backing up<br />
|http://www.crashplan.com/|{{AUR|crashplan}}}}<br />
<br />
* {{App|[[Dropbox]]|A popular file-sharing service.<br />
** A daemon monitors a specified directory, and uploads incremental changes to dropbox.com. <br />
** Changes automatically show up on your other computers. <br />
** Includes file sharing and a public directory. <br />
** You can recover deleted files. <br />
** Community written add-ons. <br />
** Free accounts have 2GB storage.<br />
|http://www.getdropbox.com|{{AUR|dropbox}} {{AUR|nautilus-dropbox}}}}<br />
<br />
* {{App|[[Wikipedia:Google Drive|Google Drive]]|A file storage and synchronization service provided by Google.<br />
** Provides cloud storage, file sharing and collaborative editing.<br />
** Multiple clients are available.<br />
|https://drive.google.com|{{AUR|google-drive-ocamlfuse}} (free), [[Grive]] (free), {{AUR|insync}} (non-free)}}<br />
<br />
* {{App|[[Wikipedia:Jungle Disk|Jungle Disk]]|An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.<br />
** A GNOME Files extension.<br />
** Only paid plans available.<br />
|http://www.jungledisk.com/|{{AUR|nautilus-jungledisk}}}}<br />
<br />
* {{App|[[Wikipedia:Mega (website)|MEGA]]|Successor to the MegaUpload file-sharing service.<br />
** Free accounts are 50GB with paid plans available for more space.<br />
** Offers encryption and de-duplication.<br />
** Usualy accessed through its web interface but other tools exist.<br />
|https://mega.co.nz|{{AUR|megatools}}}}<br />
<br />
* {{App|Nutstore|A cloud service that lets you sync and share files anywhere.<br />
** Multiple file folders sync.<br />
** Service for Chinese users.<br />
|http://jianguoyun.com/|{{AUR|nutstore}}}}<br />
<br />
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.<br />
** Free and paid version available.<br />
** Free account holds 2GB.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
|https://spideroak.com/|{{AUR|spideroak}}}}<br />
<br />
* {{App|[[Wikipedia:Storage Made Easy|Storage Made Easy]]|Provides unified access to numerous cloud storage services, as well as its own storage.<br />
** Free and paid version available.<br />
** Free account holds 5GB and allows access to up to three other cloud storage providers.<br />
** Supports local directory via fuse, as well as web access.<br />
** Supports many cloud storage services, such as Box, Dropbox, Google Drive, Onedrive, and others.<br />
|http://storagemadeeasy.com/|{{AUR|smestorage}}}}<br />
<br />
* {{App|[[Wikipedia:Tahoe-LAFS|Tahoe-LAFS]]|Tahoe Least-Authority Filesystem is a free and open, secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.<br />
|https://tahoe-lafs.org/|{{AUR|tahoe-lafs}}}}<br />
<br />
* {{App|[[Wikipedia:Tarsnap|Tarsnap]]|A secure online backup service for BSD, Linux, OS X, Solaris and Windows (through Cygwin).<br />
** Compressed encrypted backups to Amazon S3 Servers.<br />
** Automate via [[cron]].<br />
** Incremental backups.<br />
** Backup any files or directories.<br />
** Command line only client.<br />
** Pay only for usage (bandwidth and storage). <br />
|http://www.tarsnap.com|{{Pkg|tarsnap}}}}<br />
<br />
* {{App|[[Wikipedia:Wuala|Wuala]]|A secure online storage, file synchronization, versioning and backup service.<br />
** Closed source.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
** Social networking features.<br />
** All files in the cloud are first encrypted locally.<br />
|http://www.wuala.com/|{{AUR|wuala}}, {{AUR|wuala-daemon}} &ndash; to run as daemon}}<br />
<br />
* {{App|[[Wikipedia:IDrive_Inc.|iDrive]]|Universal Online Backup.<br />
** Multiple Device Backup.<br />
** Online File Sync. <br />
** Real-Time Backup. <br />
** Backup and Access from Mobile Devices. <br />
** Remote Manage. <br />
** No GUI Front end for Linux, command line based. A wrapper script is available to make it easier to use.<br />
|https://www.idrive.com/|{{AUR|idevsutil}}, {{AUR|idrive-wrapper}}}}<br />
<br />
* {{App|CloudBacko|Enterprise-grade cloud backup tool for Linux, Mac and Windows.<br />
** Closed source. Free, Lite and Pro versions available.<br />
** Written in Java.<br />
** Encrypted backup to multiple cloud destinations. <br />
** Supports multiple cloud destinations combined as one storage pool.<br />
** No installation required in Free version.<br />
** GUI frontend for Linux in Pro version.<br />
** Virtual machine backup available in Pro version.<br />
|http://www.cloudbacko.com/}}<br />
<br />
== Cooperative storage cloud backups ==<br />
<br />
A [[Wikipedia:Cooperative_storage_cloud|cooperative storage cloud]] is a decentralized model of networked online storage where data is stored on multiple computers, hosted by the participants cooperating in the cloud. <br />
<br />
* {{App|[http://www.symform.com Symform]| A peer-to-peer cloud backup service.<br />
** Unlimited free backup in exchange for 2:1 storage space contribution with an always-connected device (at least 80% uptime).<br />
** [http://www.symform.com/our-solutions/pricing/ Payment options exist].<br />
** First 10GB of backup storage is free (no contribution needed).<br />
** In addition to paid support, support plans in exchange for extended contribution (300GB+) exist.<br />
** Automatic and incremental backups.<br />
** Data is encrypted before leaving the computer, though keys are also stored on the Symform's servers.<br />
** Customizable limits for bandwidth consumption.<br />
** Ability to have a local copy ("Hot Copy") of the backed up data on a different disk or computer.<br />
** Ability to have synchronized folders between nodes (Dropbox-like).<br />
** Closed source, using mono. Windows clients available.<br />
|http://www.symform.com/|{{AUR|symform}}}}<br />
<br />
== Non-incremental backups ==<br />
Another type of backups are those used in case of a disaster. These include application that allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. The contains complete system images from one or more specific points in time and are frequently used by to record known good configurations.<br />
<br />
* {{App|Q7Z|P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.<br />
** Updates existing archives quickly.<br />
** Backup multiple folders to a storage location.<br />
** Create or extract protected archives.<br />
** Lessen effort by using archiving profiles and lists.<br />
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}<br />
<br />
* {{App|[[Partclone]]|A tool that can be used to back up and restore a partition while considering only used blocks.<br />
** Supports ext2, ext3, hfs+, reiser3.5, reiser3.6, reiser4, ext4 and btrfs.<br />
** Supports compression.<br />
|http://partclone.nchc.org.tw/trac/|{{Pkg|partclone}}}}<br />
<br />
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|A backup and disaster recovery application that runs from a bootable Linux CD image.<br />
** Is capable of bare-metal backup and recovery of disk partitions.<br />
** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.<br />
|http://www.redobackup.org/}}<br />
<br />
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|A disaster recovery, disk cloning, disk imaging and deployment solution.<br />
** Boots from live CD, USB flash drive, or PXE server.<br />
** Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.<br />
** Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.<br />
** Multicasting server to restore to many machines at once.<br />
|http://clonezilla.org/|{{Pkg|clonezilla}}}}<br />
<br />
* {{App|[[Wikipedia:Partimage|Partimage]]|A disk cloning utility for Linux/UNIX environments.<br />
** Has a Live CD.<br />
** Supports the most popular filesystems on Linux, Windows and Mac OS.<br />
** Compression.<br />
** Saving to multiple CDs or DVDs or across a network using Samba/NFS.<br />
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}<br />
<br />
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool<br />
** Support for basic file attributes (permissions, owner, ...).<br />
** Support for multiple file-systems per archive.<br />
** Support for extended attributes (they are used by SELinux).<br />
** Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.<br />
** Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of a Windows partitions).<br />
** Checksumming of everything which is written in the archive (headers, data blocks, whole files).<br />
** Ability to restore an archive which is corrupt (it will just skip the current file).<br />
** Multi-threaded lzo, gzip, bzip2, lzma compression.<br />
** Support for splitting large archives into several files with a fixed maximum size.<br />
** Encryption of the archive using a password. Based on blowfish from libcrypto from [[OpenSSL]].<br />
** Support backup of a mounted root filesystem (-A option).<br />
|http://www.fsarchiver.org/Main_Page|{{Pkg|fsarchiver}}}}<br />
<br />
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|A disaster recovery solution to create backup media that can be used to redeploy the damaged system.<br />
** Image-based backups, supporting Linux/Windows.<br />
** Compression rate is adjustable.<br />
** Can backup live systems (without having to halt it).<br />
** Can split image over many files.<br />
** Supports booting to a Live CD to perform a full restore.<br />
** Can backup/restore over NFS, from CDs, tape drives and and other media.<br />
** Can verify backups.<br />
|http://www.mondorescue.org/|{{AUR|mondo}}}}<br />
<br />
== Versioning systems ==<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
=== Version control systems ===<br />
<br />
See also [[Wikipedia:Comparison of revision control software]].<br />
<br />
* {{App|[[Git]]|A distributed revision control and source code management system with an emphasis on speed.<br />
** Very easy creation, merging, and deletion of branches.<br />
** Nearly all operations are performed locally, giving it a huge speed advantage on centralized systems.<br />
** Has a "staging area" or "index", this is an intermediate area where commits can be formatted and reviewed before completing the commit.<br />
** Does not handle binary files very well.<br />
|http://git-scm.com/|{{Pkg|git}}}}<br />
<br />
* {{App|[[Subversion]]|A full-featured centralized version control system originally designed to be a better CVS.<br />
** Renamed/copied/moved/removed files retain full revision history.<br />
** Native support for binary files, with space-efficient binary-diff storage.<br />
** Costs proportional to change size, not to data size.<br />
** Allows arbitrary metadata ("properties") to be attached to any file or directory. <br />
|http://subversion.apache.org/|{{Pkg|subversion}}}}<br />
<br />
* {{App|[[Mercurial]]|A distributed version control system written in Python and similar in many ways to Git.<br />
** Platform independent.<br />
** Support for [http://mercurial.selenic.com/wiki/UsingExtensions extensions].<br />
** A set of commands consistent with Subversion.<br />
** Supports tags.<br />
|http://mercurial.selenic.com/|{{Pkg|mercurial}}}}<br />
<br />
* {{App|[[Wikipedia:Bazaar (software)|Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.<br />
** Similar commands to Subversion.<br />
** Supports working with or without a central server.<br />
** Support for working with some other revision control systems<br />
** Complete Unicode support.<br />
|http://bazaar.canonical.com/en/|{{Pkg|bzr}}}}<br />
<br />
* {{App|[[Wikipedia:Darcs|Darcs]]|A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.<br />
** Offline mode.<br />
** Easy branching and merging.<br />
** Written in Haskell.<br />
** Not very fast.<br />
|http://darcs.net/|{{AUR|darcs}}}}<br />
<br />
=== VCS-based backups ===<br />
<br />
* {{App|Gibak|A backup system based on [[Git]].<br />
** Supports binary diffs.<br />
** Uses all of Git's features (such as {{ic|.gitignore}} for filtering files).<br />
** Uses Git's hook system to save information that Git does not (permissions, mtime, empty directories, etc).<br />
|https://github.com/pangloss/gibak|{{AUR|gibak}}}}<br />
* {{App|bup|A fledgling Git-based backup solution written in Python and C.<br />
** Uses a rolling checksum algorithm (similar to rsync) to split large files into chunks.<br />
** Can back up directly to a remote bup server.<br />
** Has an improved index format to allow you to track many files.<br />
|https://github.com/bup/bup|{{Pkg|bup}}}}<br />
* {{App|ColdStorage|Another backup tool using Git at its core, written in [[Qt]].|http://gitorious.org/coldstorage|{{AUR|coldstorage-git}}}}<br />
<br />
== See also ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]<br />
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]</div>Tritonas00https://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=353689Synchronization and backup programs2014-12-28T00:55:52Z<p>Tritonas00: /* Console */ updated system-tar-and-restore info</p>
<hr />
<div>[[Category:Data compression and archiving]]<br />
[[Category:System recovery]]<br />
[[de:Backups]]<br />
[[ja:Backup programs]]<br />
[[ru:Backup Programs]]<br />
{{Related articles start}}<br />
{{Related|Full system backup with rsync}}<br />
{{Related|Full System Backup with tar}}<br />
{{Related|Disk cloning}}<br />
{{Related|Snapper}}<br />
{{Related articles end}}<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files ({{Ic|/etc/*}}) and the local pacman database (usually {{Ic|/var/lib/pacman/local/*}}).<br />
<br />
== Introduction ==<br />
Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available? (CD, DVD, remote server, external hard drive, etc.)<br />
* How often do I plan to backup? (daily, weekly, monthly, etc.)<br />
* What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)<br />
* How do I plan to restore backups if needed?<br />
<br />
== Incremental backups ==<br />
Applications that can do incremental backups remember and take into account what data has been backed up during the last run and eliminate the need to have duplicates of unchanged data. Restoring the data to a certain point in time would require locating the last full backup and all the incremental backups from then to the moment when it is supposed to be restored. This sort of backup is useful for those who do it very often.<br />
<br />
=== Rsync-type backups ===<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.<br />
<br />
Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression or encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. A downside to rsync-type programs is that they cannot be easily burned and restored from a CD or DVD.<br />
<br />
==== Console ====<br />
* {{App|[[rsync]]|A file transfer program to keep remote files in sync.<br />
** rsync almost always makes a mirror of the source.<br />
** It is possible to restore a full backup before the most recent backup if hardlinks are allowed in the backup file system. See [http://www.ibm.com/developerworks/aix/library/au-spunix_rsync/index.html#backup Back up your data with rsync] for more information.<br />
** If hard links are not allowed, it is impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).<br />
** Standard install on all distros.<br />
** Can run over SSH (port 22) or native rsync protocol (port 873).<br />
** Win32 version available.<br />
|http://rsync.samba.org/|{{Pkg|rsync}}}}<br />
<br />
* {{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups.<br />
** Stores the most recent backup as regular files.<br />
** To revert to older versions, you apply the diff files to recreate the older versions.<br />
** It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change.<br />
** Win32 version available.<br />
|http://www.nongnu.org/rdiff-backup/|{{Pkg|rdiff-backup}}}}<br />
<br />
* {{App|[[rsnapshot]]|A remote filesystem snapshot utility.<br />
** Does not store diffs, instead it copies entire files if they have changed.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.<br />
** Destination filesystem must support hard links.<br />
** Win32 version available.<br />
|http://www.rsnapshot.org/|{{Pkg|rsnapshot}}}}<br />
<br />
* {{App|SafeKeep|A client/server backup system which uses rdiff-backup.<br />
** Integrates with Linux LVM and databases to create consistent backups.<br />
** Bandwidth throttling.<br />
|http://safekeep.sourceforge.net/|{{AUR|safekeep}}}}<br />
<br />
* {{App|Link-Backup|A tool similar to rsync based scripts, but which does not use rsync. NOTE: no upstream activity since 2008. <br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer.<br />
** The backup directory contains {{ic|.catalog}}, a catalog of all unique file instances; backup trees hard-link to this catalog.<br />
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script.<br />
** It copies itself to the server; it does not need to be installed on the server.<br />
** Requires SSH for remote backups.<br />
** It resumes stopped backups; it can even be told to run for an arbitrary number of minutes.<br />
|http://www.scottlu.com/Content/Link-Backup.html|{{AUR|link-backup}}}}<br />
<br />
* {{App|[[Wikipedia:Unison (file synchronizer)|Unison]]|A program that synchronizes files between two machines over network (LAN or Inet) using a smart diff method + rsync. Allows the user to interactively choose which changes to push, pull, or merge.|http://www.cis.upenn.edu/~bcpierce/unison/|{{Pkg|unison}}}}<br />
<br />
* {{App|rsync-snapshot.sh|Another rsync shellscript with smart rotation (non-linear distribution) of backups. Integrity protection, Quotas, Rules and many more features.|http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/}}<br />
<br />
* {{App|osync.sh|Osync is a robust bidirectional file synchronization tool written in bash and based on rsync. It works on local and / or remote directories via ssh tunnels. It's mainly targeted to be launched as cron task, with features turned towards automation among:<br />
** Execution time control<br />
** Fault tolerance with possibility to resume on error<br />
** Soft deletion, on-conflict backups with automatic cleanup<br />
** Alert notifications via email<br />
** Before and /or after time controlled local and / or remote command execution<br />
** File monitor mode<br />
|http://www.netpower.fr/osync}}<br />
<br />
* {{App|oldtime|A bash script using rsync to provide a backup solution.|https://github.com/GutenYe/oldtime|{{AUR|oldtime}}}}<br />
<br />
* {{App|trinkup|A 60-lines bash script which holds specified amount of incremental backups using rsync and "cp -al" to minimize amount of disk operations.|https://gist.github.com/ei-grad/7610406/raw/trinkup|{{AUR|trinkup}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Areca Backup|Areca Backup]]|An easy to use and reliable backup solution for Linux and Windows.<br />
** Written in Java.<br />
** Primarily archive-based (zip), but will do file-based backup as well.<br />
** Delta backup supported (stores only changes).<br />
|http://areca.sourceforge.net/|{{AUR|areca}}}}<br />
<br />
* {{App|[[BackupPC]]|A high-performance, enterprise-grade system for backing up Unix, Linux, Windows, and Mac OS X desktops and laptops to a remote server.<br />
** Deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.<br />
** Optional compression support further reducing disk storage.<br />
** No client-side software is needed.<br />
** Simple but powerful web-based UI.<br />
|http://backuppc.sourceforge.net/index.html|{{Pkg|backuppc}}}}<br />
<br />
* {{App|[[Back In Time]]|A simple backup tool for Linux inspired by the [[Wikipedia:FlyBack|FlyBack]] and [https://wiki.ubuntu.com/TimeVault/ TimeVault] projects.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Really is just a front-end to {{ic|rsync}}, {{ic|diff}}, {{ic|cp}}.<br />
** A new snapshot is created only if something changed since the last snapshot.<br />
|http://backintime.le-web.org/|{{AUR|backintime}} or as a prebuild package from [http://arch.coderkun.de/ coderkun's repo]}}<br />
<br />
* {{App|[[Wikipedia:FlyBack|FlyBack]]|A clone of Apple's [[Wikipedia:Time Machine (Mac OS)|Time Machine]], a backup utility for Mac OS X.|http://www.flyback-project.org/|{{AUR|flyback}}}}<br />
<br />
* {{App|Free File Sync|Free File Sync helps you synchronize files and synchronize folders for Windows, Linux and Mac OS X. It is designed to save your time setting up and running backup jobs while having nice visual feedback along the way.<br />
|http://freefilesync.sourceforge.net/|{{AUR|freefilesync}}}}<br />
<br />
* {{App|Grsync|GTK+ interface to rsync|http://www.opbyte.it/grsync/|{{Pkg|grsync}}}}<br />
<br />
* {{App|[[Wikipedia:LuckyBackup|luckyBackup]]|An easy program to backup and sync your files.<br />
** It is written in Qt and C++.<br />
** It has sync, backup (with include and exclude options) and restore capabilities.<br />
** It can do remote connection backups, scheduled backups.<br />
** A command line mode.<br />
|http://luckybackup.sourceforge.net/index.html|{{AUR|luckybackup}}}}<br />
<br />
* {{App|syncBackup|A front-end for rsync that provides a fast and extraordinary copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.<br />
|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}}}<br />
<br />
* {{App|TimeShift|TimeShift is a system restore utility which takes incremental snapshots of the system using rsync and hard-links. These snapshots can be restored at a later date to undo all changes that were made to the system after the snapshot was taken. Snapshots can be taken manually or at regular intervals using scheduled jobs.<br />
|https://launchpad.net/timeshift|{{AUR|timeshift}}}}<br />
<br />
=== Other backups ===<br />
Most other backup applications tend to create (big) archive files and (of course) keep track of what's been archived. Creating {{ic|.tar.bz2}} or {{ic|.tar.gz}} archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.<br />
<br />
==== Console ====<br />
* {{App|Arch Backup|A trivial backup script with simple configuration.<br />
** Configurable compression method.<br />
** Multiple backup targets.<br />
|http://code.google.com/p/archlinux-stuff/|{{Pkg|arch-backup}}}}<br />
<br />
* {{App|[[Backup with hdup|hdup]]|A very simple command line backup tool.<br />
** Creates tar.gz or tar.bz2 archives.<br />
** Supports gpg encryption.<br />
** Supports pushing over SSH.<br />
** Multiple backup targets.<br />
|http://miek.nl/projects/hdup2/|{{AUR|hdup}}}}<br />
<br />
* {{App|rdup|A platform for backups that provides scripts to facilitate backups and delegates the encryption, compression, transfer and packaging to other utilities in a true Unix-way.<br />
** Creates tar.gz archives or rsync-type copy.<br />
** Encryption (gpg, blowfish and others); also applies for rsync-type copy.<br />
** Compression (also for rsync-type copy).<br />
|http://miek.nl/projects/rdup|{{AUR|rdup}}}}<br />
<br />
* {{App|[[Duplicity]]|A simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.<br />
** Supports gpg encryption and signing.<br />
** Supports gzip compression.<br />
** Supports full or incremental backups, incremental backup stores only difference between new and old file.<br />
** Supports pushing over FTP, SSH, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem.<br />
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}<br />
<br />
* {{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive.<br />
** It uses its own format for archives (so you need to have it around when you want to restore).<br />
** Supports splitting backups into more files by size.<br />
** Makefile-type config files, some custom scripts are available along with it.<br />
** Supports basic encryption.<br />
** Automatic backup using [[cron]] is possible with {{AUR|sarab}}.<br />
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}} (fontend)}}<br />
<br />
* {{App|Manent|An algorithmically strong backup and archival program. NOTE: no upstream activity since 2009.<br />
** Efficient backup to anything that looks like a storage.<br />
** Works well over a slow and unreliable network.<br />
** Offers online access to the contents of the backup.<br />
** Backed up storage is completely encrypted.<br />
** Several computers can use the same storage for backup, automatically sharing data.<br />
** Not reliant on timestamps of the remote system to detect changes.<br />
** Cross-platform support for Unicode file names.<br />
|http://code.google.com/p/manent/|{{AUR|manent}}}}<br />
<br />
* {{App|btar|tar-compatible archiver<br />
** Fast archive creation (multicore compression or ciphering)<br />
** Arbitrary chain of compression/ciphers (calls any compression/ciphering programs)<br />
** Indexed archive retrieval or listing<br />
** Redundancy<br />
** Serialization through pipes (and only one file per backup)<br />
** Can be extracted or checked with gnutar<br />
** Differential backups of multiple levels<br />
** Optional encoding of big files with rsync-differences<br />
|http://viric.name/cgi-bin/btar|{{AUR|btar}}}}<br />
<br />
* {{App|burp|Burp is a network backup and restore program<br />
** Uses librsync in order to save network traffic and to save on the amount of space that is used by each backup. <br />
** It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers.<br />
** deduplication<br />
** SSL/TLS connections<br />
** automation the process of generating SSL certificates<br />
** data encryption<br />
** security models [http://burp.grke.org/txt/security-models.txt]<br />
|http://burp.grke.org|{{AUR|burp-backup}}}}<br />
<br />
* {{App|obnam|Easy, secure backup program<br />
** Snapshot backups. Every generation looks like a complete snapshot.<br />
** Data chunk de-duplication, across files, and backup generations. This results in incremental backups.<br />
** Optionally encrypted backups, using GnuPG.<br />
** FUSE mountable backup repository.<br />
|http://liw.fi/obnam/|{{AUR|obnam}}}}<br />
<br />
* {{App|System Tar & Restore|A set of bash scripts for full system backup and restore<br />
** CLI and Dialog interfaces<br />
** Easy backup and restore wizards<br />
** Creates ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'' or ''.tar'' archives<br />
** Supports openssl / gpg encryption<br />
** Uses rsync to transfer a running system<br />
** Supports Grub2 and Syslinux<br />
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}<br />
<br />
* {{App|Packrat|A simple, modular backup system using [[Wikipedia:DAR (Disk Archiver)|DAR]]<br />
** Full or incremental backups stored locally, on a remote system via SSH, or on Amazon S3<br />
|http://www.zeroflux.org/projects|{{AUR|packrat}}}}<br />
<br />
* {{App|Attic|A deduplicating backup program for efficient and secure backups.<br />
** Space efficient storage: Variable block size deduplication is used to reduce the number of bytes stored by detecting redundant data.<br />
** Optional data encryption: All data can be protected using 256-bit AES encryption and data integrity and authenticity is verified using HMAC-SHA256.<br />
** Off-site backups: Any data can be stored on any remote host accessible over SSH (as long as Attic is installed).<br />
** Backups mountable as filesystems: Backup archives are mountable as userspace filesystems for easy backup verification and restores.<br />
|https://github.com/jborg/attic/|{{AUR|attic}}}}<br />
<br />
* {{App|Snebu|File-level deduplicating snapshot backup with SQLite3 catalog db.<br />
** Functionally similar to rsync/snapshot style backups, however doesn't use hardlinks in the filesystem.<br />
** Backed up files are stored in lzop-compatible files, in the designated "vault" directory.<br />
** Metadata stored in SQLite3 db, linking backup sets to file metadata to compressed files in the vault.<br />
** Supports arbitrary retention schedules (such as daily/weekly/monthly) which can be individually expired<br />
|http://www.snebu.com|{{AUR|snebu}}}}<br />
<br />
==== Graphical ====<br />
* {{App|Backerupper|A simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** Creates {{ic|.tar.gz}} archives.<br />
** Configurable backup frequency, backup time and max copies.<br />
|http://sourceforge.net/projects/backerupper/|{{AUR|backerupper}}}}<br />
<br />
* {{App|[[Duplicity|Déjà Dup]]|A simple GTK+ backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.<br />
** Automatic, timed backup configurable in GUI.<br />
** Restore wizard.<br />
** Integrated into the GNOME Files file manager.<br />
** Inherits several features of duplicity.<br />
|https://launchpad.net/deja-dup|{{Pkg|deja-dup|}}}}<br />
<br />
* {{App|Synkron|A folder synchronization tool.<br />
** Syncs multiple folders.<br />
** Can exclude files from sync based on wildcards.<br />
** Restores files.<br />
** Cross-platform support.<br />
|http://synkron.sourceforge.net/|{{AUR|synkron}}}}<br />
<br />
==== Console and graphical ====<br />
<br />
* {{App|[[Wikipedia:Bacula|Bacula]]|A client-server enterprise level computer backup system for heterogeneous networks.<br />
** This is the Swiss army knife of backup solutions.<br />
** Can be run on a single machine or used to back up an entire network.<br />
** Supports Linux, UNIX, Windows, and Mac OS X backup clients.<br />
** Supports a variety of backup devices, including tape libraries.<br />
** Can be used to backup to multiple removable storage devices.<br />
** Provides or supports command line console, GUI, and web interfaces.<br />
** The back-end is a catalog stored in MySQL, PostgreSQL, or SQLite.<br />
** Provides extensive documentation.<br />
** Appears to be the most downloaded open source backup solution<br />
|http://www.bacula.org|{{AUR|bacula-common}}}}<br />
<br />
== Cloud backups ==<br />
<br />
See also [[Wikipedia:Comparison of online backup services]].<br />
<br />
* {{App|[[Wikipedia:Barracuda_Networks#Products|Copy]]|A fair solution to shared folders.<br />
** 15GB free.<br />
** Shared folders size are split between people.<br />
** Daemon to sync files between the cloud and the computer.<br />
** Almost any platform supported.<br />
** Offers AES-256 encryption.<br />
|https://www.copy.com/home/|{{AUR|copy-agent}}}}<br />
<br />
* {{App|[[CrashPlan]]|An online/offsite backup solution.<br />
** Unlimited online space for very reasonable pricing.<br />
** Automatic and incremental backups to multiple destinations.<br />
** Intuitive GUI.<br />
** Offers encryption and de-duplication.<br />
** Software is free for local use.<br />
** Restore prevents simultaneous backing up<br />
|http://www.crashplan.com/|{{AUR|crashplan}}}}<br />
<br />
* {{App|[[Dropbox]]|A popular file-sharing service.<br />
** A daemon monitors a specified directory, and uploads incremental changes to dropbox.com. <br />
** Changes automatically show up on your other computers. <br />
** Includes file sharing and a public directory. <br />
** You can recover deleted files. <br />
** Community written add-ons. <br />
** Free accounts have 2GB storage.<br />
|http://www.getdropbox.com|{{AUR|dropbox}} {{AUR|nautilus-dropbox}}}}<br />
<br />
* {{App|[[Wikipedia:Google Drive|Google Drive]]|A file storage and synchronization service provided by Google.<br />
** Provides cloud storage, file sharing and collaborative editing.<br />
** Multiple clients are available.<br />
|https://drive.google.com|{{AUR|google-drive-ocamlfuse}} (free), [[Grive]] (free), {{AUR|insync}} (non-free)}}<br />
<br />
* {{App|[[Wikipedia:Jungle Disk|Jungle Disk]]|An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.<br />
** A GNOME Files extension.<br />
** Only paid plans available.<br />
|http://www.jungledisk.com/|{{AUR|nautilus-jungledisk}}}}<br />
<br />
* {{App|[[Wikipedia:Mega (website)|MEGA]]|Successor to the MegaUpload file-sharing service.<br />
** Free accounts are 50GB with paid plans available for more space.<br />
** Offers encryption and de-duplication.<br />
** Usualy accessed through its web interface but other tools exist.<br />
|https://mega.co.nz|{{AUR|megatools}}}}<br />
<br />
* {{App|Nutstore|A cloud service that lets you sync and share files anywhere.<br />
** Multiple file folders sync.<br />
** Service for Chinese users.<br />
|http://jianguoyun.com/|{{AUR|nutstore}}}}<br />
<br />
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.<br />
** Free and paid version available.<br />
** Free account holds 2GB.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
|https://spideroak.com/|{{AUR|spideroak}}}}<br />
<br />
* {{App|[[Wikipedia:Storage Made Easy|Storage Made Easy]]|Provides unified access to numerous cloud storage services, as well as its own storage.<br />
** Free and paid version available.<br />
** Free account holds 5GB and allows access to up to three other cloud storage providers.<br />
** Supports local directory via fuse, as well as web access.<br />
** Supports many cloud storage services, such as Box, Dropbox, Google Drive, Onedrive, and others.<br />
|http://storagemadeeasy.com/|{{AUR|smestorage}}}}<br />
<br />
* {{App|[[Wikipedia:Tahoe-LAFS|Tahoe-LAFS]]|Tahoe Least-Authority Filesystem is a free and open, secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.<br />
|https://tahoe-lafs.org/|{{AUR|tahoe-lafs}}}}<br />
<br />
* {{App|[[Wikipedia:Tarsnap|Tarsnap]]|A secure online backup service for BSD, Linux, OS X, Solaris and Windows (through Cygwin).<br />
** Compressed encrypted backups to Amazon S3 Servers.<br />
** Automate via [[cron]].<br />
** Incremental backups.<br />
** Backup any files or directories.<br />
** Command line only client.<br />
** Pay only for usage (bandwidth and storage). <br />
|http://www.tarsnap.com|{{Pkg|tarsnap}}}}<br />
<br />
* {{App|[[Wikipedia:Wuala|Wuala]]|A secure online storage, file synchronization, versioning and backup service.<br />
** Closed source.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
** Social networking features.<br />
** All files in the cloud are first encrypted locally.<br />
|http://www.wuala.com/|{{AUR|wuala}}, {{AUR|wuala-daemon}} &ndash; to run as daemon}}<br />
<br />
* {{App|[[Wikipedia:IDrive_Inc.|iDrive]]|Universal Online Backup.<br />
** Multiple Device Backup.<br />
** Online File Sync. <br />
** Real-Time Backup. <br />
** Backup and Access from Mobile Devices. <br />
** Remote Manage. <br />
** No GUI Front end for Linux, command line based. A wrapper script is available to make it easier to use.<br />
|https://www.idrive.com/|{{AUR|idevsutil}}, {{AUR|idrive-wrapper}}}}<br />
<br />
* {{App|CloudBacko|Enterprise-grade cloud backup tool for Linux, Mac and Windows.<br />
** Closed source. Free, Lite and Pro versions available.<br />
** Written in Java.<br />
** Encrypted backup to multiple cloud destinations. <br />
** Supports multiple cloud destinations combined as one storage pool.<br />
** No installation required in Free version.<br />
** GUI frontend for Linux in Pro version.<br />
** Virtual machine backup available in Pro version.<br />
|http://www.cloudbacko.com/}}<br />
<br />
== Cooperative storage cloud backups ==<br />
<br />
A [[Wikipedia:Cooperative_storage_cloud|cooperative storage cloud]] is a decentralized model of networked online storage where data is stored on multiple computers, hosted by the participants cooperating in the cloud. <br />
<br />
* {{App|[http://www.symform.com Symform]| A peer-to-peer cloud backup service.<br />
** Unlimited free backup in exchange for 2:1 storage space contribution with an always-connected device (at least 80% uptime).<br />
** [http://www.symform.com/our-solutions/pricing/ Payment options exist].<br />
** First 10GB of backup storage is free (no contribution needed).<br />
** In addition to paid support, support plans in exchange for extended contribution (300GB+) exist.<br />
** Automatic and incremental backups.<br />
** Data is encrypted before leaving the computer, though keys are also stored on the Symform's servers.<br />
** Customizable limits for bandwidth consumption.<br />
** Ability to have a local copy ("Hot Copy") of the backed up data on a different disk or computer.<br />
** Ability to have synchronized folders between nodes (Dropbox-like).<br />
** Closed source, using mono. Windows clients available.<br />
|http://www.symform.com/|{{AUR|symform}}}}<br />
<br />
== Non-incremental backups ==<br />
Another type of backups are those used in case of a disaster. These include application that allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. The contains complete system images from one or more specific points in time and are frequently used by to record known good configurations.<br />
<br />
* {{App|Q7Z|P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.<br />
** Updates existing archives quickly.<br />
** Backup multiple folders to a storage location.<br />
** Create or extract protected archives.<br />
** Lessen effort by using archiving profiles and lists.<br />
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}<br />
<br />
* {{App|[[Partclone]]|A tool that can be used to back up and restore a partition while considering only used blocks.<br />
** Supports ext2, ext3, hfs+, reiser3.5, reiser3.6, reiser4, ext4 and btrfs.<br />
** Supports compression.<br />
|http://partclone.nchc.org.tw/trac/|{{Pkg|partclone}}}}<br />
<br />
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|A backup and disaster recovery application that runs from a bootable Linux CD image.<br />
** Is capable of bare-metal backup and recovery of disk partitions.<br />
** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.<br />
|http://www.redobackup.org/}}<br />
<br />
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|A disaster recovery, disk cloning, disk imaging and deployment solution.<br />
** Boots from live CD, USB flash drive, or PXE server.<br />
** Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.<br />
** Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.<br />
** Multicasting server to restore to many machines at once.<br />
|http://clonezilla.org/|{{Pkg|clonezilla}}}}<br />
<br />
* {{App|[[Wikipedia:Partimage|Partimage]]|A disk cloning utility for Linux/UNIX environments.<br />
** Has a Live CD.<br />
** Supports the most popular filesystems on Linux, Windows and Mac OS.<br />
** Compression.<br />
** Saving to multiple CDs or DVDs or across a network using Samba/NFS.<br />
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}<br />
<br />
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool<br />
** Support for basic file attributes (permissions, owner, ...).<br />
** Support for multiple file-systems per archive.<br />
** Support for extended attributes (they are used by SELinux).<br />
** Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.<br />
** Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of a Windows partitions).<br />
** Checksumming of everything which is written in the archive (headers, data blocks, whole files).<br />
** Ability to restore an archive which is corrupt (it will just skip the current file).<br />
** Multi-threaded lzo, gzip, bzip2, lzma compression.<br />
** Support for splitting large archives into several files with a fixed maximum size.<br />
** Encryption of the archive using a password. Based on blowfish from libcrypto from [[OpenSSL]].<br />
** Support backup of a mounted root filesystem (-A option).<br />
|http://www.fsarchiver.org/Main_Page|{{Pkg|fsarchiver}}}}<br />
<br />
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|A disaster recovery solution to create backup media that can be used to redeploy the damaged system.<br />
** Image-based backups, supporting Linux/Windows.<br />
** Compression rate is adjustable.<br />
** Can backup live systems (without having to halt it).<br />
** Can split image over many files.<br />
** Supports booting to a Live CD to perform a full restore.<br />
** Can backup/restore over NFS, from CDs, tape drives and and other media.<br />
** Can verify backups.<br />
|http://www.mondorescue.org/|{{AUR|mondo}}}}<br />
<br />
== Versioning systems ==<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
=== Version control systems ===<br />
<br />
See also [[Wikipedia:Comparison of revision control software]].<br />
<br />
* {{App|[[Git]]|A distributed revision control and source code management system with an emphasis on speed.<br />
** Very easy creation, merging, and deletion of branches.<br />
** Nearly all operations are performed locally, giving it a huge speed advantage on centralized systems.<br />
** Has a "staging area" or "index", this is an intermediate area where commits can be formatted and reviewed before completing the commit.<br />
** Does not handle binary files very well.<br />
|http://git-scm.com/|{{Pkg|git}}}}<br />
<br />
* {{App|[[Subversion]]|A full-featured centralized version control system originally designed to be a better CVS.<br />
** Renamed/copied/moved/removed files retain full revision history.<br />
** Native support for binary files, with space-efficient binary-diff storage.<br />
** Costs proportional to change size, not to data size.<br />
** Allows arbitrary metadata ("properties") to be attached to any file or directory. <br />
|http://subversion.apache.org/|{{Pkg|subversion}}}}<br />
<br />
* {{App|[[Mercurial]]|A distributed version control system written in Python and similar in many ways to Git.<br />
** Platform independent.<br />
** Support for [http://mercurial.selenic.com/wiki/UsingExtensions extensions].<br />
** A set of commands consistent with Subversion.<br />
** Supports tags.<br />
|http://mercurial.selenic.com/|{{Pkg|mercurial}}}}<br />
<br />
* {{App|[[Wikipedia:Bazaar (software)|Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.<br />
** Similar commands to Subversion.<br />
** Supports working with or without a central server.<br />
** Support for working with some other revision control systems<br />
** Complete Unicode support.<br />
|http://bazaar.canonical.com/en/|{{Pkg|bzr}}}}<br />
<br />
* {{App|[[Wikipedia:Darcs|Darcs]]|A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.<br />
** Offline mode.<br />
** Easy branching and merging.<br />
** Written in Haskell.<br />
** Not very fast.<br />
|http://darcs.net/|{{AUR|darcs}}}}<br />
<br />
=== VCS-based backups ===<br />
<br />
* {{App|Gibak|A backup system based on [[Git]].<br />
** Supports binary diffs.<br />
** Uses all of Git's features (such as {{ic|.gitignore}} for filtering files).<br />
** Uses Git's hook system to save information that Git does not (permissions, mtime, empty directories, etc).<br />
|https://github.com/pangloss/gibak|{{AUR|gibak}}}}<br />
* {{App|bup|A fledgling Git-based backup solution written in Python and C.<br />
** Uses a rolling checksum algorithm (similar to rsync) to split large files into chunks.<br />
** Can back up directly to a remote bup server.<br />
** Has an improved index format to allow you to track many files.<br />
|https://github.com/bup/bup|{{Pkg|bup}}}}<br />
* {{App|ColdStorage|Another backup tool using Git at its core, written in [[Qt]].|http://gitorious.org/coldstorage|{{AUR|coldstorage-git}}}}<br />
<br />
== See also ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]<br />
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=353688System-tar-and-restore2014-12-28T00:54:09Z<p>Tritonas00: /* Restore/Transfer */ removed archiver</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=353687System-tar-and-restore2014-12-28T00:51:37Z<p>Tritonas00: /* Backup */ removed archiver</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=353686System-tar-and-restore2014-12-28T00:49:55Z<p>Tritonas00: /* Backup */ removed archiver</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*It's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in additional tar options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=RTorrent&diff=344610RTorrent2014-11-14T16:01:24Z<p>Tritonas00: /* systemd service file with tmux or screen */ updated ExecStop</p>
<hr />
<div>{{DISPLAYTITLE:rTorrent}}<br />
[[Category:Internet applications]]<br />
[[es:RTorrent]]<br />
[[ru:RTorrent]]<br />
[[zh-CN:RTorrent]]<br />
[http://libtorrent.rakshasa.no/ rTorrent] is a quick and efficient BitTorrent client that uses, and is in development alongside, the libTorrent (not to be confused with {{Pkg|libtorrent-rasterbar}}) library. It is written in C++ and uses the [[Wikipedia:ncurses|ncurses]] programming library, which means it uses a text user interface. When combined with a terminal multiplexer (e.g. [[GNU Screen]] or [[Tmux]]) and [[Secure Shell]], it becomes a convenient remote [[Wikipedia:BitTorrent (protocol)#Operation|BitTorrent client]].<br />
<br />
== Installation ==<br />
<br />
[[pacman|Install]] the {{Pkg|rtorrent}} package that is available in the [[official repositories]].<br />
<br />
Alternatively, install {{AUR|rtorrent-git}} or {{AUR|rtorrent-extended}} from the [[AUR]].<br />
<br />
== Configuration ==<br />
<br />
{{Note|See the rTorrent wiki article on this subject for more information: [http://web.archive.org/web/20140213003955/http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks Common Tasks in rTorrent for Dummies].}}<br />
<br />
Before running rTorrent, find the example configuration file {{ic|/usr/share/doc/rtorrent/rtorrent.rc}} and copy it to {{ic|~/.rtorrent.rc}}:<br />
<br />
$ cp /usr/share/doc/rtorrent/rtorrent.rc ~/.rtorrent.rc<br />
<br />
=== Performance ===<br />
<br />
{{Note|See the rTorrent wiki article on this subject for more information: [http://web.archive.org/web/20140213011439/http://libtorrent.rakshasa.no/wiki/RTorrentPerformanceTuning Performance Tuning]}}<br />
<br />
The values for the following options are dependent on the system's hardware and Internet connection speed. To find the optimal values read: [http://torrentfreak.com/optimize-your-BitTorrent-download-speed Optimize Your BitTorrent Download Speed]<br />
{{bc|<nowiki><br />
min_peers = 40<br />
max_peers = 52<br />
<br />
min_peers_seed = 10<br />
max_peers_seed = 52<br />
<br />
max_uploads = 8<br />
<br />
download_rate = 200<br />
upload_rate = 28<br />
</nowiki>}}<br />
<br />
The {{ic|check_hash}} option executes a hash check when a torrent download is complete or rTorrent is started. When starting, it checks for errors in your completed files. <br />
check_hash = yes<br />
<br />
=== Create and manage files ===<br />
<br />
The {{ic|directory}} option will determine where your torrent data will be saved. Be sure to enter the absolute path, as rTorrent may not follow relative paths:<br />
directory = /home/[user]/torrents/<br />
<br />
The {{ic|session}} option allows rTorrent to save the progess of your torrents. It is recommended to create a directory called {{ic|.session}} (e.g. {{ic|mkdir ~/.session}}).<br />
session = /home/''user''/.session/<br />
<br />
The {{ic|schedule}} option has rTorrent watch a particular directory for new torrent files. Saving a torrent file to this directory will automatically start the download. Remember to create the directory that will be watched (e.g. {{ic|mkdir ~/watch}}). Also, be careful when using this option as rTorrent will move the torrent file to your session folder and rename it to its hash value.<br />
schedule = watch_directory,5,5,load_start=/home/''user''/watch/*.torrent<br />
schedule = untied_directory,5,5,stop_untied=<br />
schedule = tied_directory,5,5,start_tied=<br />
<br />
The following {{ic|schedule}} option is intended to stop rTorrent from downloading data when disk space is low.<br />
schedule = low_diskspace,5,60,close_low_diskspace=100M<br />
<br />
=== Port configuration ===<br />
<br />
The {{ic|port_range}} option sets which port(s) to use for listening. It is recommended to use a port that is higher than 49152 (see: [[Wikipedia:List of TCP and UDP port numbers|List of port numbers]]). Although, rTorrent allows a range of ports, a single port is recommended.<br />
port_range = 49164-49164<br />
<br />
Additionally, make sure port forwarding is enabled for the proper port(s) (see: [http://portforward.com/english/routers/port_forwarding/routerindex.htm Port Forward guides]).<br />
<br />
=== Additional settings ===<br />
<br />
The {{ic|encryption}} option enables or disables encryption. It is very important to enable this option, not only for yourself, but also for your peers in the torrent swarm. Some users need to obscure their bandwidth usage from their ISP. And it does not hurt to enable it even if you do not need the added security.<br />
encryption = allow_incoming,try_outgoing,enable_retry<br />
It is also possible to force all connections to use encryption. However, be aware that this stricter rule will reduce your client's availability:<br />
encryption = require,require_RC4,allow_incoming,try_outgoing<br />
{{Wikipedia|BitTorrent Protocol Encryption}}<br />
<br />
This final {{ic|dht}} option enables [[Wikipedia:Distributed hash table|DHT]] support. DHT is common among public trackers and will allow the client to acquire more peers.<br />
{{bc|<nowiki><br />
dht = auto<br />
dht_port = 6881<br />
peer_exchange = yes<br />
</nowiki>}}<br />
<br />
== Key bindings ==<br />
<br />
rTorrent relies exclusively on keyboard shortcuts for user input. A quick reference is available in the table below. A complete guide is available on the rTorrent wiki (see: [https://github.com/rakshasa/rtorrent/wiki/User-Guide rTorrent User Guide]).<br />
<br />
{{Note|Striking {{ic|Ctrl-q}} twice in quick succession will make rTorrent shutdown without waiting to send a stop announce to the connected trackers.}}<br />
<br />
{| class="wikitable"<br />
|-<br />
!width="75" |Cmd<br />
!Action<br />
|-<br />
|Ctrl-q<br />
|Quit application<br />
|-<br />
|Ctrl-s<br />
|Start download. Runs hash first unless already done.<br />
|-<br />
|Ctrl-d<br />
|Stop an active download or remove a stopped download<br />
|-<br />
|Ctrl-k<br />
|Stop and close the files of an active download.<br />
|-<br />
|Ctrl-r<br />
|Initiate hash check of torrent. Without starting to download/upload.<br />
|-<br />
|Left<br />
|Returns to the previous screen<br />
|-<br />
|Right<br />
|Goes to the next screen<br />
|-<br />
|Backspace/Return<br />
|Adds the specified *.torrent<br />
|-<br />
|<nowiki>a|s|d</nowiki><br />
|<nowiki>Increase global upload throttle about 1|5|50 KB/s</nowiki><br />
|-<br />
|<nowiki>A|S|D</nowiki><br />
|<nowiki>Increase global download throttle about 1|5|50 KB/s</nowiki><br />
|-<br />
|<nowiki>z|x|c</nowiki><br />
|<nowiki>Decrease global upload throttle about 1|5|50 KB/s</nowiki><br />
|-<br />
|<nowiki>Z|X|C</nowiki><br />
|<nowiki>Decrease global download throttle about 1|5|50 KB/s</nowiki><br />
|}<br />
<br />
=== Redundant mapping ===<br />
<br />
{{ic|Ctrl-s}} is often used for terminal control to stop screen output while {{ic|Ctrl-q}} is used to start it. These mappings may interfere with rTorrent. Check to see if these terminal options are bound to a mapping:<br />
{{hc|$ stty -a|<nowiki>...<br />
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;<br />
...<br />
</nowiki>}}<br />
<br />
To remove the mappings, change the terminal characteristics to undefine the aforementioned special characters (i.e. {{ic|stop}} and {{ic|start}}):<br />
# stty stop undef<br />
# stty start undef<br />
<br />
To remove these mappings automatically at startup you may add the two preceding commands to your {{ic|~/.bashrc}} file.<br />
<br />
== Additional tips ==<br />
<br />
=== systemd service file with tmux or screen ===<br />
<br />
*With tmux<br />
<br />
{{hc|/etc/systemd/system/rt@.service|<nowiki><br />
[Unit]<br />
Description=rTorrent<br />
Requires=network.target local-fs.target<br />
<br />
[Service]<br />
Type=forking<br />
RemainAfterExit=yes<br />
KillMode=none<br />
User=%I<br />
ExecStart=/usr/bin/tmux new-session -s rt -n rtorrent -d rtorrent<br />
ExecStop=/usr/bin/tmux send-keys -t rt:rtorrent C-q<br />
WorkingDirectory=/home/%I/<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
*With tmux (Restart rtorrent if crashed)<br />
{{hc|/etc/systemd/system/rt@.service|<nowiki><br />
[Unit]<br />
Description=rTorrent<br />
Requires=network.target local-fs.target<br />
<br />
[Service]<br />
Type=forking<br />
KillMode=none<br />
User=%I<br />
ExecStart=/usr/bin/tmux new-session -s rt -n rtorrent -d rtorrent<br />
ExecStop=/usr/bin/tmux send-keys -t rt:rtorrent C-q<br />
WorkingDirectory=/home/%I/<br />
Restart=on-failure<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
*With tmux running as user rtorrent (Restart rtorrent if crashed)<br />
{{hc|/etc/systemd/system/rtorrent.service|<nowiki><br />
[Unit]<br />
Description=rTorrent Daemon<br />
Requires=network.target local-fs.target<br />
<br />
[Service]<br />
Type=forking<br />
KillMode=none<br />
User=rtorrent<br />
ExecStart=/usr/bin/tmux new-session -c /mnt/storage/rtorrent -s rtorrent -n rtorrent -d rtorrent<br />
ExecStop=/usr/bin/tmux send-keys -t rtorrent C-q && /usr/bin/tmux kill-session -t rtorrent<br />
WorkingDirectory=/home/rtorrent/<br />
Restart=on-failure<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
*With screen<br />
<br />
{{hc|/etc/systemd/system/rt@.service|<nowiki><br />
[Unit]<br />
Description=rTorrent<br />
Requires=network.target local-fs.target<br />
<br />
[Service]<br />
Type=forking<br />
RemainAfterExit=yes<br />
KillMode=none<br />
User=%I<br />
ExecStart=/usr/bin/screen -d -m -S rtorrent /usr/bin/rtorrent<br />
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent<br />
WorkingDirectory=/home/%I/<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
Start at boot time:<br />
# systemctl enable rt@$USER<br />
Start manually:<br />
# systemctl start rt@$USER<br />
Stop:<br />
# systemctl stop rt@$USER<br />
Attach to rtorrent's session:<br />
tmux attach -t rt<br />
Detach:<br />
Ctrl-b d<br />
<br />
=== Pre-allocation ===<br />
<br />
The rTorrent package in the community repository lacks pre-allocation. Compiling rTorrent with pre-allocation allows files to be allocated before downloading the torrent. The major benefit is that it limits and avoids fragmentation of the filesystem. However, this introduces a delay during the pre-allocation if the filesystem does not support the fallocate syscall natively.<br />
<br />
Therefore this switch is recommended for xfs, ext4 and btrfs filesystems, which have native fallocate syscall support. They will see no delay during preallocation and no fragmented filesystem. Pre-allocation on others filesystems will cause a delay but will not fragment the files.<br />
<br />
To make pre-allocation available, recompile libTorrent from the [[ABS]] tree with the following new switch:<br />
$ ./configure --prefix=/usr --disable-debug --with-posix-fallocate<br />
<br />
To enable it, add the following to your {{ic|~/rtorrent.rc}}:<br />
{{hc|~/rtorrent.rc|<nowiki><br />
# Preallocate files; reduces defragmentation on filesystems.<br />
system.file_allocate.set = yes<br />
</nowiki>}}<br />
<br />
=== Manage completed files ===<br />
<br />
{{Note|<br />
*Currently, this part requires either the git version of rtorrent/libtorrent or having applied the patch to 0.8.6 that adds 'equal'.<br />
* If you're having trouble with this tip, it's probably easier to follow [http://web.archive.org/web/20140213003955/http://libtorrent.rakshasa.no/wiki/RTorrentCommonTasks#Movecompletedtorrentstodifferentdirectorydependingonwatchdirectory this].<br />
}}<br />
<br />
It is possible to have rtorrent sort completed torrent data to specific folders based on which 'watch' folder you drop the *.torrent into while continuing to seed. Many examples show how to do this with torrents downloaded by rtorrent. The problem is when you try to drop in 100% done torrent data and then have rtorrent check the data and resume, it will not be sorted.<br />
<br />
As a solution, use the following example in your {{ic|~/.rtorrent.rc}}.<br />
Make sure to change the paths.<br />
<br />
{{bc|1=<br />
# location where new torrent data is placed, and where you should place your<br />
# 'complete' data before you place your *.torrent file into the watch folder<br />
directory = /home/user/torrents/incomplete<br />
<br />
# schedule a timer event named 'watch_directory_1':<br />
# 1) triggers 10 seconds after rtorrent starts<br />
# 2) triggers at 10 second intervals thereafter<br />
# 3) Upon trigger, attempt to load (and start) new *.torrent files found in /home/user/torrents/watch/<br />
# 4) set a variable named 'custom1' with the value "/home/user/torrents/complete"<br />
# NOTE: if you do not want it to automatically start the torrent, change 'load_start' to 'load'<br />
schedule = watch_directory_1,10,10,"load_start=/home/user/torrents/watch/*.torrent,d.set_custom1=/home/user/torrents/complete"<br />
<br />
# insert a method with the alias 'checkdirs1'<br />
# 1) returns true if the current path of the torrent data is not equal to the value of custom1<br />
# 2) otherwise, returns false<br />
system.method.insert=checkdirs1,simple,"not=\"$equal={d.get_custom1=,d.get_base_path=}\""<br />
<br />
# insert a method with the alias 'movecheck1'<br />
# 1) returns true if all 3 commands return true ('result of checkdirs1' && 'torrent is 100% done', 'custom1 variable is set')<br />
# 2) otherwise, returns false<br />
system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}"<br />
<br />
# insert a method with the alias 'movedir1'<br />
# (a series of commands, separated by ';') <br />
# 1) "set path of torrent to equal the value of custom1";<br />
# 2) "mv -u <current data path> <custom1 path>";<br />
# 3) "clear custom1", "stop the torrent","resume the torrent"<br />
# 4) stop the torrent<br />
# 5) start the torrent (to get the torrent to update the 'base path')<br />
system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start="<br />
<br />
# set a key with the name 'move_hashed1' that is triggered by the hash_done event.<br />
# 1) When hashing of a torrent completes, this custom key will be triggered.<br />
# 2) when triggered, execute the 'movecheck1' method and check the return value.<br />
# 3) if the 'movecheck' method returns 'true', execute the 'movedir1' method we inserted above.<br />
# NOTE-0: *Only* data that has had their hash checked manually with ^R [^R = Control r].<br />
# Or on a rtorrent restart[which initiates a hash check]. Will the data move; ~/torrents/incomplete => ~/torrents/complete for example.<br />
# NOTE-1: 'branch' is an 'if' conditional statement: if(movecheck1){movedir1}<br />
system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}"<br />
}}<br />
<br />
You can add additional watch folders and rules should you like to sort your torrents into special folders.<br />
<br />
For example, if you would like the torrents to download in:<br />
/home/user/torrents/incomplete<br />
and then sort the torrent data based on which folder you dropped the *.torrent into:<br />
/home/user/torrents/watch => /home/user/torrents/complete<br />
/home/user/torrents/watch/iso => /home/user/torrents/complete/iso<br />
/home/user/torrents/watch/music => /home/user/torrents/complete/music<br />
<br />
You can have the following in your .rtorrent.rc:<br />
{{bc|1=<br />
directory = /home/user/torrents/incomplete<br />
schedule = watch_directory_1,10,10,"load_start=/home/user/torrents/watch/*.torrent,d.set_custom1=/home/user/torrents/complete"<br />
<br />
schedule = watch_directory_2,10,10,"load_start=/home/user/torrents/watch/iso/*.torrent,d.set_custom1=/home/user/torrents/complete/iso"<br />
<br />
schedule = watch_directory_3,10,10,"load_start=/home/user/torrents/watch/music/*.torrent,d.set_custom1=/home/user/torrents/complete/music"<br />
<br />
system.method.insert=checkdirs1,simple,"not=\"$equal={d.get_custom1=,d.get_base_path=}\""<br />
system.method.insert=movecheck1,simple,"and={checkdirs1=,d.get_complete=,d.get_custom1=}"<br />
system.method.insert=movedir1,simple,"d.set_directory=$d.get_custom1=;execute=mv,-u,$d.get_base_path=,$d.get_custom1=;d.set_custom1=;d.stop=;d.start="<br />
system.method.set_key=event.download.hash_done,move_hashed1,"branch={$movecheck1=,movedir1=}"<br />
}}<br />
<br />
Also see [http://code.google.com/p/pyroscope/ pyroscope] especially the rtcontrol examples. There is an AUR package.<br />
<br />
==== Notification with Google Mail ====<br />
<br />
Cell phone providers allow you to "email" your phone:<br />
{{bc|<nowiki><br />
Verizon: 10digitphonenumber@vtext.com<br />
AT&T: 10digitphonenumber@txt.att.net<br />
Former AT&T customers: 10digitphonenumber@mmode.com<br />
Sprint: 10digitphonenumber@messaging.sprintpcs.com<br />
T-Mobile: 10digitphonenumber@tmomail.net<br />
Nextel: 10digitphonenumber@messaging.nextel.com<br />
Cingular: 10digitphonenumber@cingularme.com<br />
Virgin Mobile: 10digitphonenumber@vmobl.com<br />
Alltel: 10digitphonenumber@alltelmessage.com OR<br />
10digitphonenumber@message.alltel.com<br />
CellularOne: 10digitphonenumber@mobile.celloneusa.com<br />
Omnipoint: 10digitphonenumber@omnipointpcs.com<br />
Qwest: 10digitphonenumber@qwestmp.com<br />
Telus: 10digitphonenumber@msg.telus.com<br />
Rogers Wireless: 10digitphonenumber@pcs.rogers.com<br />
Fido: 10digitphonenumber@fido.ca<br />
Bell Mobility: 10digitphonenumber@txt.bell.ca<br />
Koodo Mobile: 10digitphonenumber@msg.koodomobile.com<br />
MTS: 10digitphonenumber@text.mtsmobility.com<br />
President's Choice: 10digitphonenumber@txt.bell.ca<br />
Sasktel: 10digitphonenumber@sms.sasktel.com<br />
Solo: 10digitphonenumber@txt.bell.ca<br />
</nowiki>}}<br />
<br />
*Install mailx which is provided by the {{Pkg|s-nail}} package that is found in the [[official repositories]].<br />
<br />
*Clear the {{ic|/etc/mail.rc}} file and enter:<br />
<br />
{{bc|<nowiki><br />
set sendmail="/usr/bin/mailx"<br />
set smtp=smtp.gmail.com:587<br />
set smtp-use-starttls<br />
set ssl-verify=ignore<br />
set ssl-auth=login<br />
set smtp-auth-user=USERNAME@gmail.com<br />
set smtp-auth-password=PASSWORD<br />
</nowiki>}}<br />
<br />
Now to send the text, we must pipe a message to the mailx program.<br />
*Make a Bash script:<br />
{{hc|/path/to/mail.sh|<nowiki><br />
echo "$@: Done" | mailx 5551234567@vtext.com<br />
</nowiki>}}<br />
Where the $@ is a variable holding all the arguments passed to our script.<br />
<br />
*And finally, add the important {{ic|~/.rtorrent.rc}} line:<br />
system.method.set_key = event.download.finished,notify_me,"execute=/path/to/mail.sh,$d.get_name="<br />
<br />
Breaking it down:<br />
<br />
{{ic|notify_me}} is the command id, which may be used by other commands, it can be just about anything you like, so long as it is unique.<br />
<br />
{{ic|1=execute=}} is the rtorrent command, in this case to execute a shell command.<br />
<br />
{{ic|/path/to/mail.sh}} is the name of our script (or whatever command you want to execute) followed by a comma separated list of all the switches/arguments to be passed.<br />
<br />
{{ic|1=$d.get_name=}} 'd' is an alias to whatever download triggered the command, get_name is a function which returns the name of our download, and the '$' tells rTorrent to replace the command with its output before it calls execute.<br />
<br />
The end result? When that torrent, 'All Live Nudibranches', that we started before leaving for work finishes, we will be texted:<br />
All Live Nudibranches: Done<br />
<br />
=== Displaying active torrents ===<br />
<br />
The rtorrent doesn't list the active tab properly by default, add this line to your {{ic|.rtorrent.rc}} to show only active torrents<br />
schedule = filter_active,30,30,"view_filter = active,\"or={d.get_up_rate=,d.get_down_rate=}\""<br />
<br />
Then press {{ic|9}} in your rTorrent client to see the changes in action.<br />
<br />
=== Manually adding trackers to torrents ===<br />
<br />
# Select torrent to edit from rTorrent console view.<br />
# Hit {{ic|Ctrl+x}}.<br />
# If you had four trackers type following lines one at a time (always press {{ic|Ctrl+x}} first) to add four more for example:<br />
<br />
d.tracker.insert="5","udp://tracker.publicbt.com:80"<br />
d.tracker.insert="6","udp://tracker.openbittorrent.com:80"<br />
d.tracker.insert="7","udp://tracker.istole.it:80"<br />
d.tracker.insert="8","udp://tracker.ccc.de:80"<br />
<br />
== Troubleshooting ==<br />
<br />
=== CA certificates ===<br />
<br />
To use rTorrent with a tracker that uses HTTPS, do the following as root:<br />
<br />
{{bc|<br />
# cd /etc/ssl/certs<br />
<nowiki># wget --no-check-certificate https://www.geotrust.com/resources/root_certificates/certificates/Equifax_Secure_Global_eBusiness_CA-1.cer</nowiki><br />
# mv Equifax_Secure_Global_eBusiness_CA-1.cer Equifax_Secure_Global_eBusiness_CA-1.pem<br />
# c_rehash<br />
}}<br />
<br />
And from now on run rTorrent with:<br />
$ rtorrent -o http_capath=/etc/ssl/certs<br />
<br />
If you use GNU Screen, update the {{ic|.screenrc}} configuration file to reflect this change:<br />
$ screen -t rtorrent rtorrent -o http_capath=/etc/ssl/certs<br />
<br />
In rTorrent 0.8.9, set {{ic|<nowiki>network.http.ssl_verify_peer.set=0</nowiki>}} to [https://bbs.archlinux.org/viewtopic.php?pid=981832#p981832 fix the problem].<br />
<br />
For more information see: [https://bbs.archlinux.org/viewtopic.php?pid=331850 rTorrent Error & CA Certificate] and [https://bbs.archlinux.org/viewtopic.php?id=45800 rTorrent Certificates Problem]<br />
<br />
=== Locked directories ===<br />
<br />
rTorrent can sometimes lock up after a crash or incorrect shutdown, and will complain about a lock file.<br />
<br />
Per the error message, the file called "'''rtorrent.lock'''" can be found within the hidden folder {{ic|.rtorrentsession}} for your download directory and manually removed.<br />
<br />
=== Event failed: bad return code ===<br />
<br />
This is caused by there being spaces in your system.method.* lines. Remove the spaces and it will work.<br />
<br />
== Web interface ==<br />
<br />
There are numerous web interfaces and front ends for rTorrent including:<br />
* [[WTorrent]] is a web interface to rtorrent programmed in php using Smarty templates and XMLRPC for PHP library.<br />
* [http://code.google.com/p/ntorrent/ nTorrent] is a graphical user interface client to rtorrent (a cli torrent client) written in Java.<br />
* [http://projects.cyla.homeip.net/rtwi/ rTWi] is a simple rTorrent web interface written in PHP.<br />
* [[Rtgui]] is a web based front end for rTorrent written in PHP and uses XML-RPC to communicate with the rTorrent client.<br />
* [https://github.com/Novik/ruTorrent rutorrent] and [http://forums.rutorrent.org/ Forum] - A web-based front-end with an interface very similar to uTorrent which supports many plugins and advanced features (see also: [[ruTorrent]] and [https://bbs.archlinux.org/viewtopic.php?pid=897577#p897577 Guide on forum]).<br />
<br />
{{Note|rTorrent is currently built using [http://xmlrpc-c.sourceforge.net/ XML-RPC for C/C++], which is required for some web interfaces (e.g. ruTorrent).}}<br />
<br />
=== XMLRPC interface ===<br />
<br />
If you want to use rtorrent with some web interfaces (e.g. rutorrent) you need to add the following line to the configuration file:<br />
scgi_port = localhost:5000<br />
<br />
For more information see: [https://github.com/rakshasa/rtorrent/wiki/RPC_Setup_XMLRPC Using XMLRPC with rtorrent]<br />
<br />
=== Saving magnet links as torrent files in watch folder ===<br />
<br />
{{Note| Rtorrent natively supports downloading torrents through magnet links. At the main view (reached by starting Rtorrent and pressing 1), press enter. At "load.normal>" paste the magnet link and press enter again. This will start the download.}}<br />
<br />
If you wish to have magnet links automatically added to your watch folder, here is a script that will do the trick:<br />
<br />
#!/bin/bash<br />
watch_folder=~/.rtorrent/watch<br />
cd $watch_folder<br />
[[ "$1" =~ xt=urn:btih:([^&/]+) ]] || exit;<br />
echo "d10:magnet-uri${#1}:${1}e" > "meta-${BASH_REMATCH[1]}.torrent"<br />
<br />
(adapted from http://blog.gonzih.org/blog/2012/02/17/how-to-use-magnet-links-with-rtorrent/).<br />
<br />
Save it, for instance as rtorrent-magnet, give it execution permission, and place it somewhere under your $PATH. Then in Firefox:<br />
# Type {{ic|about:config}} into the Location Bar (address bar) and press {{ic|Enter}}.<br />
# Right-click: ''New > Boolean > Name: '''network.protocol-handler.expose.magnet''' > Value > false''.<br />
# Next time you click a magnet link you will be asked which application to open it with. Select the script we just created and you'll be done.<br />
<br />
If you want xdg-open to handle this, which you need if you're using chrome instead of firefox, (though gnome and other DE might have their own programs overriding xdg-open) you need to patch xdg-open according to this site [http://www.void.gr/kargig/blog/2012/01/24/open-magnet-urls-with-xdg-open/]<br />
<br />
but since you do not want to open the magnet with deluge, change deluge for the name of your script<br />
as such adding the following at the right place in the xdg-open code:<br />
elif (echo "$1" | grep -q '^magnet:'); then<br />
rtorrent-magnet "$1" <br />
if [ $? -eq 0 ]; then<br />
exit_success<br />
fi<br />
<br />
This should be at line 652 at the time of writing, xdg-open 1.1.0 rc1<br />
<br />
== rtorrent-pyro ==<br />
<br />
{{AUR|rtorrent-pyro}} from the [[AUR]] comes with an extended rtorrent console interface. It doesn't contain the pyroscope tools yet though. If you also need the pyroscope tools see [[#PyroScope]] .<br />
<br />
Make sure you add following command to ~/.rtorrent.rc, which makes the asterisk key * to a shortcut for toggling between extended and collapsed view within rtorrent's interface:<br />
{{bc|<nowiki>schedule = bind_collapse,0,0,"ui.bind_key=download_list,*,view.collapsed.toggle="</nowiki>}}<br />
<br />
Also set "pyro.extended" to 1 to activate rTorrent-PS features.<br />
{{bc|<nowiki>system.method.insert = pyro.extended, value|const, 1</nowiki>}}<br />
<br />
=== PyroScope ===<br />
<br />
We create a directory for the installation of pyroscope, then download and update the source code from subversion:<br />
{{bc|<nowiki>mkdir -p ~/.lib<br />
svn checkout http://pyroscope.googlecode.com/svn/trunk/ ~/.lib/pyroscope<br />
~/.lib/pyroscope/update-to-head.sh</nowiki>}}<br />
Adding pyroscope bin's PATH to .bashrc:<br />
{{bc|<nowiki>export PATH=$PATH:path_to_the_bin # Example path for pyroscope bin's: /home/user/.lib/pyroscope/bin/</nowiki>}}<br />
Creating the ~/.pyroscope/config.ini:<br />
{{bc|<nowiki>pyroadmin --create-config</nowiki>}}<br />
<br />
Add this to your ~/.rtorrent.rc. Don't forget to add the path of your pyroscope bin's dir (see below).<br />
{{bc|<nowiki>system.method.insert = pyro.bin_dir, string|const, write_here_path_to_your_pyroscope_bin_dir # Example path: /home/user/.lib/pyroscope/bin/<br />
system.method.insert = pyro.rc_dialect, string|const|simple, "execute_capture=bash,-c,\"test $1 = 0.8.6 && echo -n 0.8.6 || echo -n 0.8.9\",dialect,$system.client_version="<br />
system.method.insert = pyro.rtorrent_rc, string|const|private, "$cat=~/.pyroscope/rtorrent-,\"$pyro.rc_dialect=\",.rc.default"<br />
import = $pyro.rtorrent_rc=</nowiki>}}<br />
<br />
Optionally: TORQUE: Daemon watchdog schedule. Must be activated by touching the "~/.pyroscope/run/pyrotorque" file!<br />
You can also just use rtorrent watch dir or give pyro_watchdog a try, which comes with 'treewatch' ability, meaning it also watches for torrents recursively within the given watch path. Further documentation for pyro_watchdog is here: <br />
[http://code.google.com/p/pyroscope/wiki/QueueManager] <br />
To enable pyro_watchdog, add this in ~/.rtorrent.rc and further configurations are in ~/.pyroscope/torque.ini. <br />
{{bc|<nowiki>schedule = pyro_watchdog,30,300,"pyro.watchdog=~/.pyroscope,-v"</nowiki>}}<br />
<br />
Following steps are important. Before using pyroscope tools you have to set the missing "loaded" times to that of the .torrent file. Run this in your terminal:<br />
{{bc|<nowiki>rtcontrol '!*"*' loaded=0 -q -sname -o 'echo "$(name)s"\ntest -f "$(metafile)s" && rtxmlrpc -q d.set_custom $(hash)s tm_loaded \$(\<br />
ls -l --time-style "+%%s" "$(metafile)s" \<br />
| cut -f6 -d" ")\nrtxmlrpc -q d.save_session $(hash)s' | bash</nowiki>}}<br />
<br />
And now set the missing "completed" times to that of the data file or directory:<br />
{{bc|<nowiki>rtcontrol '!*"*' completed=0 done=100 path=\! is_ghost=no -q -sname -o 'echo "$(name)s"\ntest -e "$(realpath)s" && rtxmlrpc -q d.set_custom $(hash)s tm_completed \$(\<br />
ls -ld --time-style "+%%s" "$(realpath)s" \<br />
| cut -f6 -d" ")\nrtxmlrpc -q d.save_session $(hash)s' | bash</nowiki>}}<br />
<br />
Example usage:<br />
Will print out all torrents older than 2 hours:<br />
{{bc|<nowiki>rtcontrol -V completed=+2h -scompleted -ocompleted</nowiki>}}<br />
Deletes all torrents older than 48 hours:<br />
{{bc|<nowiki>rtcontrol -V completed=+48h -scompleted -ocompleted --cull --yes</nowiki>}}<br />
<br />
== See also ==<br />
<br />
* [http://libtorrent.rakshasa.no/rtorrent/rtorrent.1.html Manpage for rtorrent]<br />
* [[Screen Tips]]<br />
* [[Wikipedia:Comparison of BitTorrent clients|Comparison of BitTorrent clients]] on Wikipedia<br />
* [http://community.rutorrent.org/ rTorrent Community Wiki] - Public place for information on rTorrent and any project related to rTorrent, regarding setup, configuration, operations, and development.<br />
* [http://code.google.com/p/pyroscope/ PyroScope] - Collection of command line tools for rTorrent. It provides commands for creating and modifying torrent files, moving data on completion without having multiple watch folders, and mass-controlling download items via rTorrent's XML-RPC interface: searching, start/stop, deleting items with or without their data, etc. It also offers a documented [[Python]] API.<br />
* [[Rutorrent with lighttpd|ruTorrent with Lighttpd]]<br />
* [http://wiki.theaveragegeek.com/howto/installing_rtorrent_and_hellanzb_on_centos5_64-bit_vps How-to install rTorrent and Hellanzb on CentOS 5 64-bit VPS]<br />
* [http://code.google.com/p/pyroscope/wiki/DebianInstallFromSource Installation guide for rTorrent and Pryoscope on Debian] - Collection of tools for the BitTorrent protocol and especially the rTorrent client<br />
* [http://mktorrent.sourceforge.net/ mktorrent] - Command line application used to generate torrent files, which is available as {{Pkg|mktorrent}} in the [[official repositories]].<br />
* [http://fsk141.com/linux/software/rtorrent-the-complete-guide.html Rtorrent Complete Guide] - Very helpful archlinux guide for rtorrent set-up and configuration.<br />
<br />
'''Forum threads'''<br />
* 2009-03-11 - Arch Linux - [https://bbs.archlinux.org/viewtopic.php?id=67304 HOWTO: rTorrent stats in Conky]</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=344082System-tar-and-restore2014-11-09T18:32:26Z<p>Tritonas00: /* Backup */ added info</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available) in archiver options.<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=344081System-tar-and-restore2014-11-09T18:26:47Z<p>Tritonas00: /* Restore/Transfer */ added info</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd (preferably an Arch Linux based) or another system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=344080System-tar-and-restore2014-11-09T18:19:25Z<p>Tritonas00: /* Restore/Transfer */ updated btrfs info</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], you will be prompted for root subvolume name. Leave empty if you dont want subvolumes. Also you can specify other subvolumes. Just enter the paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=341345System-tar-and-restore2014-10-23T14:59:34Z<p>Tritonas00: /* Restore/Transfer */ better description</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, prepare your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=341342System-tar-and-restore2014-10-23T14:30:14Z<p>Tritonas00: /* Backup */ fixed typo</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Where you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=340599System-tar-and-restore2014-10-19T03:13:24Z<p>Tritonas00: /* Restore/Transfer */ added decryption info</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In ''Restore mode'' you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). If the archive is encrypted you will be prompted for the passphrase. In ''Transfer mode'' you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=340597System-tar-and-restore2014-10-19T03:09:18Z<p>Tritonas00: /* Backup */ removed space</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=340596System-tar-and-restore2014-10-19T03:08:31Z<p>Tritonas00: /* Backup */ added encryption info</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
* '''Passphrase and encryption method ''': Enter a passphrase if you want to encrypt the archive and select encryption method (openssl or gpg). Leave empty for no encryption.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=340592Synchronization and backup programs2014-10-19T02:56:29Z<p>Tritonas00: /* Console */ updated system-tar-and-restore info</p>
<hr />
<div>[[Category:Data compression and archiving]]<br />
[[Category:System recovery]]<br />
[[de:Backups]]<br />
[[ru:Backup Programs]]<br />
{{Related articles start}}<br />
{{Related|Full system backup with rsync}}<br />
{{Related|Full System Backup with tar}}<br />
{{Related|Disk cloning}}<br />
{{Related|Snapper}}<br />
{{Related articles end}}<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files ({{Ic|/etc/*}}) and the local pacman database (usually {{Ic|/var/lib/pacman/local/*}}).<br />
<br />
== Introduction ==<br />
Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available? (CD, DVD, remote server, external hard drive, etc.)<br />
* How often do I plan to backup? (daily, weekly, monthly, etc.)<br />
* What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)<br />
* How do I plan to restore backups if needed?<br />
<br />
== Incremental backups ==<br />
Applications that can do incremental backups remember and take into account what data has been backed up during the last run and eliminate the need to have duplicates of unchanged data. Restoring the data to a certain point in time would require locating the last full backup and all the incremental backups from then to the moment when it is supposed to be restored. This sort of backup is useful for those who do it very often.<br />
<br />
=== Rsync-type backups ===<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.<br />
<br />
Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression or encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. A downside to rsync-type programs is that they cannot be easily burned and restored from a CD or DVD.<br />
<br />
==== Console ====<br />
* {{App|[[rsync]]|A file transfer program to keep remote files in sync.<br />
** rsync almost always makes a mirror of the source.<br />
** It is possible to restore a full backup before the most recent backup if hardlinks are allowed in the backup file system. See [http://www.ibm.com/developerworks/aix/library/au-spunix_rsync/index.html#backup Back up your data with rsync] for more information.<br />
** If hard links are not allowed, it is impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).<br />
** Standard install on all distros.<br />
** Can run over SSH (port 22) or native rsync protocol (port 873).<br />
** Win32 version available.<br />
|http://rsync.samba.org/|{{Pkg|rsync}}}}<br />
<br />
* {{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups.<br />
** Stores the most recent backup as regular files.<br />
** To revert to older versions, you apply the diff files to recreate the older versions.<br />
** It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change.<br />
** Win32 version available.<br />
|http://www.nongnu.org/rdiff-backup/|{{Pkg|rdiff-backup}}}}<br />
<br />
* {{App|[[rsnapshot]]|A remote filesystem snapshot utility.<br />
** Does not store diffs, instead it copies entire files if they have changed.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.<br />
** Destination filesystem must support hard links.<br />
** Win32 version available.<br />
|http://www.rsnapshot.org/|{{Pkg|rsnapshot}}}}<br />
<br />
* {{App|SafeKeep|A client/server backup system which uses rdiff-backup.<br />
** Integrates with Linux LVM and databases to create consistent backups.<br />
** Bandwidth throttling.<br />
|http://safekeep.sourceforge.net/|{{AUR|safekeep}}}}<br />
<br />
* {{App|Link-Backup|A tool similar to rsync based scripts, but which does not use rsync. NOTE: no upstream activity since 2008. <br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer.<br />
** The backup directory contains {{ic|.catalog}}, a catalog of all unique file instances; backup trees hard-link to this catalog.<br />
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script.<br />
** It copies itself to the server; it does not need to be installed on the server.<br />
** Requires SSH for remote backups.<br />
** It resumes stopped backups; it can even be told to run for an arbitrary number of minutes.<br />
|http://www.scottlu.com/Content/Link-Backup.html|{{AUR|link-backup}}}}<br />
<br />
* {{App|[[Wikipedia:Unison (file synchronizer)|Unison]]|A program that synchronizes files between two machines over network (LAN or Inet) using a smart diff method + rsync. Allows the user to interactively choose which changes to push, pull, or merge.|http://www.cis.upenn.edu/~bcpierce/unison/|{{Pkg|unison}}}}<br />
<br />
* {{App|rsync-snapshot.sh|Another rsync shellscript with smart rotation (non-linear distribution) of backups. Integrity protection, Quotas, Rules and many more features.|http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/}}<br />
<br />
* {{App|osync.sh|Osync is a robust bidirectional file synchronization tool written in bash and based on rsync. It works on local and / or remote directories via ssh tunnels. It's mainly targeted to be launched as cron task, with features turned towards automation among:<br />
** Execution time control<br />
** Fault tolerance with possibility to resume on error<br />
** Soft deletion, on-conflict backups with automatic cleanup<br />
** Alert notifications via email<br />
** Before and /or after time controlled local and / or remote command execution<br />
** File monitor mode<br />
|http://www.netpower.fr/osync}}<br />
<br />
* {{App|oldtime|A bash script using rsync to provide a backup solution.|https://github.com/GutenYe/oldtime|{{AUR|oldtime}}}}<br />
<br />
* {{App|trinkup|A 60-lines bash script which holds specified amount of incremental backups using rsync and "cp -al" to minimize amount of disk operations.|https://gist.github.com/ei-grad/7610406/raw/trinkup|{{AUR|trinkup}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Areca Backup|Areca Backup]]|An easy to use and reliable backup solution for Linux and Windows.<br />
** Written in Java.<br />
** Primarily archive-based (zip), but will do file-based backup as well.<br />
** Delta backup supported (stores only changes).<br />
|http://areca.sourceforge.net/|{{AUR|areca}}}}<br />
<br />
* {{App|[[BackupPC]]|A high-performance, enterprise-grade system for backing up Unix, Linux, Windows, and Mac OS X desktops and laptops to a remote server.<br />
** Deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.<br />
** Optional compression support further reducing disk storage.<br />
** No client-side software is needed.<br />
** Simple but powerful web-based UI.<br />
|http://backuppc.sourceforge.net/index.html|{{Pkg|backuppc}}}}<br />
<br />
* {{App|[[Back In Time]]|A simple backup tool for Linux inspired by the [[Wikipedia:FlyBack|FlyBack]] and [https://wiki.ubuntu.com/TimeVault/ TimeVault] projects.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Really is just a front-end to {{ic|rsync}}, {{ic|diff}}, {{ic|cp}}.<br />
** A new snapshot is created only if something changed since the last snapshot.<br />
|http://backintime.le-web.org/|{{AUR|backintime}} or as a prebuild package from [http://arch.coderkun.de/ coderkun's repo]}}<br />
<br />
* {{App|[[Wikipedia:FlyBack|FlyBack]]|A clone of Apple's [[Wikipedia:Time Machine (Mac OS)|Time Machine]], a backup utility for Mac OS X.|http://www.flyback-project.org/|{{AUR|flyback}}}}<br />
<br />
* {{App|Free File Sync|Free File Sync helps you synchronize files and synchronize folders for Windows, Linux and Mac OS X. It is designed to save your time setting up and running backup jobs while having nice visual feedback along the way.<br />
|http://freefilesync.sourceforge.net/|{{AUR|freefilesync}}}}<br />
<br />
* {{App|Grsync|GTK+ interface to rsync|http://www.opbyte.it/grsync/|{{Pkg|grsync}}}}<br />
<br />
* {{App|[[Wikipedia:LuckyBackup|luckyBackup]]|An easy program to backup and sync your files.<br />
** It is written in Qt and C++.<br />
** It has sync, backup (with include and exclude options) and restore capabilities.<br />
** It can do remote connection backups, scheduled backups.<br />
** A command line mode.<br />
|http://luckybackup.sourceforge.net/index.html|{{AUR|luckybackup}}}}<br />
<br />
* {{App|syncBackup|A front-end for rsync that provides a fast and extraordinary copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.<br />
|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}}}<br />
<br />
* {{App|TimeShift|TimeShift is a system restore utility which takes incremental snapshots of the system using rsync and hard-links. These snapshots can be restored at a later date to undo all changes that were made to the system after the snapshot was taken. Snapshots can be taken manually or at regular intervals using scheduled jobs.<br />
|https://launchpad.net/timeshift|{{AUR|timeshift}}}}<br />
<br />
=== Other backups ===<br />
Most other backup applications tend to create (big) archive files and (of course) keep track of what's been archived. Creating {{ic|.tar.bz2}} or {{ic|.tar.gz}} archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.<br />
<br />
==== Console ====<br />
* {{App|Arch Backup|A trivial backup script with simple configuration.<br />
** Configurable compression method.<br />
** Multiple backup targets.<br />
|http://code.google.com/p/archlinux-stuff/|{{Pkg|arch-backup}}}}<br />
<br />
* {{App|[[Backup with hdup|hdup]]|A very simple command line backup tool.<br />
** Creates tar.gz or tar.bz2 archives.<br />
** Supports gpg encryption.<br />
** Supports pushing over SSH.<br />
** Multiple backup targets.<br />
|http://miek.nl/projects/hdup2/|{{AUR|hdup}}}}<br />
<br />
* {{App|rdup|A platform for backups that provides scripts to facilitate backups and delegates the encryption, compression, transfer and packaging to other utilities in a true Unix-way.<br />
** Creates tar.gz archives or rsync-type copy.<br />
** Encryption (gpg, blowfish and others); also applies for rsync-type copy.<br />
** Compression (also for rsync-type copy).<br />
|http://miek.nl/projects/rdup|{{AUR|rdup}}}}<br />
<br />
* {{App|[[Duplicity]]|A simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.<br />
** Supports gpg encryption and signing.<br />
** Supports gzip compression.<br />
** Supports full or incremental backups, incremental backup stores only difference between new and old file.<br />
** Supports pushing over FTP, SSH, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem.<br />
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}<br />
<br />
* {{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive.<br />
** It uses its own format for archives (so you need to have it around when you want to restore).<br />
** Supports splitting backups into more files by size.<br />
** Makefile-type config files, some custom scripts are available along with it.<br />
** Supports basic encryption.<br />
** Automatic backup using [[cron]] is possible with {{AUR|sarab}}.<br />
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}} (fontend)}}<br />
<br />
* {{App|Manent|An algorithmically strong backup and archival program. NOTE: no upstream activity since 2009.<br />
** Efficient backup to anything that looks like a storage.<br />
** Works well over a slow and unreliable network.<br />
** Offers online access to the contents of the backup.<br />
** Backed up storage is completely encrypted.<br />
** Several computers can use the same storage for backup, automatically sharing data.<br />
** Not reliant on timestamps of the remote system to detect changes.<br />
** Cross-platform support for Unicode file names.<br />
|http://code.google.com/p/manent/|{{AUR|manent}}}}<br />
<br />
* {{App|btar|tar-compatible archiver<br />
** Fast archive creation (multicore compression or ciphering)<br />
** Arbitrary chain of compression/ciphers (calls any compression/ciphering programs)<br />
** Indexed archive retrieval or listing<br />
** Redundancy<br />
** Serialization through pipes (and only one file per backup)<br />
** Can be extracted or checked with gnutar<br />
** Differential backups of multiple levels<br />
** Optional encoding of big files with rsync-differences<br />
|http://viric.name/cgi-bin/btar|{{AUR|btar}}}}<br />
<br />
* {{App|burp|Burp is a network backup and restore program<br />
** Uses librsync in order to save network traffic and to save on the amount of space that is used by each backup. <br />
** It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers.<br />
** deduplication<br />
** SSL/TLS connections<br />
** automation the process of generating SSL certificates<br />
** data encryption<br />
** security models [http://burp.grke.org/txt/security-models.txt]<br />
|http://burp.grke.org|{{AUR|burp-backup}}}}<br />
<br />
* {{App|obnam|Easy, secure backup program<br />
** Snapshot backups. Every generation looks like a complete snapshot.<br />
** Data chunk de-duplication, across files, and backup generations. This results in incremental backups.<br />
** Optionally encrypted backups, using GnuPG.<br />
** FUSE mountable backup repository.<br />
|http://liw.fi/obnam/|{{AUR|obnam}}}}<br />
<br />
* {{App|System Tar & Restore|A set of bash scripts for full system backup and restore<br />
** CLI and Dialog interfaces<br />
** Easy backup and restore wizards<br />
** Uses tar / bsdtar to create and restore backups<br />
** Creates ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'' or ''.tar'' archives<br />
** Supports openssl / gpg encryption<br />
** Uses rsync to transfer a running system<br />
** Supports Grub2 and Syslinux<br />
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}<br />
<br />
* {{App|Packrat|A simple, modular backup system using [[Wikipedia:DAR (Disk Archiver)|DAR]]<br />
** Full or incremental backups stored locally, on a remote system via SSH, or on Amazon S3<br />
|http://www.zeroflux.org/projects|{{AUR|packrat}}}}<br />
<br />
* {{App|Attic|A deduplicating backup program for efficient and secure backups.<br />
** Space efficient storage: Variable block size deduplication is used to reduce the number of bytes stored by detecting redundant data.<br />
** Optional data encryption: All data can be protected using 256-bit AES encryption and data integrity and authenticity is verified using HMAC-SHA256.<br />
** Off-site backups: Any data can be stored on any remote host accessible over SSH (as long as Attic is installed).<br />
** Backups mountable as filesystems: Backup archives are mountable as userspace filesystems for easy backup verification and restores.<br />
|https://github.com/jborg/attic/|{{AUR|attic}}}}<br />
<br />
* {{App|Snebu|File-level deduplicating snapshot backup with SQLite3 catalog db.<br />
** Functionally similar to rsync/snapshot style backups, however doesn't use hardlinks in the filesystem.<br />
** Backed up files are stored in lzop-compatible files, in the designated "vault" directory.<br />
** Metadata stored in SQLite3 db, linking backup sets to file metadata to compressed files in the vault.<br />
** Supports arbitrary retention schedules (such as daily/weekly/monthly) which can be individually expired<br />
|http://www.snebu.com|{{AUR|snebu}}}}<br />
<br />
==== Graphical ====<br />
* {{App|Backerupper|A simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** Creates {{ic|.tar.gz}} archives.<br />
** Configurable backup frequency, backup time and max copies.<br />
|http://sourceforge.net/projects/backerupper/|{{AUR|backerupper}}}}<br />
<br />
* {{App|[[Duplicity|Déjà Dup]]|A simple GTK+ backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.<br />
** Automatic, timed backup configurable in GUI.<br />
** Restore wizard.<br />
** Integrated into the Nautilus file manager.<br />
** Inherits several features of duplicity.<br />
|https://launchpad.net/deja-dup|{{Pkg|deja-dup|}}}}<br />
<br />
* {{App|Synkron|A folder synchronization tool.<br />
** Syncs multiple folders.<br />
** Can exclude files from sync based on wildcards.<br />
** Restores files.<br />
** Cross-platform support.<br />
|http://synkron.sourceforge.net/|{{AUR|synkron}}}}<br />
<br />
== Cloud backups ==<br />
<br />
{{Wikipedia|Comparison of online backup services}}<br />
<br />
* {{App|[[Wikipedia:Barracuda_Networks#Products|Copy]]|A fair solution to shared folders.<br />
** 15GB free.<br />
** Shared folders size are split between people.<br />
** Daemon to sync files between the cloud and the computer.<br />
** Almost any platform supported.<br />
** Offers AES-256 encryption.<br />
|https://www.copy.com/home/|{{AUR|copy-agent}}}}<br />
<br />
* {{App|[[CrashPlan]]|An online/offsite backup solution.<br />
** Unlimited online space for very reasonable pricing.<br />
** Automatic and incremental backups to multiple destinations.<br />
** Intuitive GUI.<br />
** Offers encryption and de-duplication.<br />
** Software is free for local use.<br />
** Restore prevents simultaneous backing up<br />
|http://www.crashplan.com/|{{AUR|crashplan}}}}<br />
<br />
* {{App|[[Dropbox]]|A popular file-sharing service.<br />
** A daemon monitors a specified directory, and uploads incremental changes to dropbox.com. <br />
** Changes automatically show up on your other computers. <br />
** Includes file sharing and a public directory. <br />
** You can recover deleted files. <br />
** Community written add-ons. <br />
** Free accounts have 2GB storage.<br />
|http://www.getdropbox.com|{{AUR|dropbox}} {{AUR|nautilus-dropbox}}}}<br />
<br />
* {{App|[[Wikipedia:Google Drive|Google Drive]]|A file storage and synchronization service provided by Google.<br />
** Provides cloud storage, file sharing and collaborative editing.<br />
** Multiple clients are available.<br />
|https://drive.google.com|{{AUR|google-drive-ocamlfuse}} (free), [[Grive]] (free), {{AUR|insync}} (non-free)}}<br />
<br />
* {{App|[[Wikipedia:Jungle Disk|Jungle Disk]]|An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.<br />
** A Nautilus extension.<br />
** Only paid plans available.<br />
|http://www.jungledisk.com/|{{AUR|nautilus-jungledisk}}}}<br />
<br />
* {{App|[[Wikipedia:Mega (website)|MEGA]]|Successor to the MegaUpload file-sharing service.<br />
** Free accounts are 50GB with paid plans available for more space.<br />
** Offers encryption and de-duplication.<br />
** Usualy accessed through its web interface but other tools exist.<br />
|https://mega.co.nz|{{AUR|megatools}}}}<br />
<br />
* {{App|Nutstore|A cloud service that lets you sync and share files anywhere.<br />
** Multiple file folders sync.<br />
** Service for Chinese users.<br />
|http://jianguoyun.com/|{{AUR|nutstore}}}}<br />
<br />
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.<br />
** Free and paid version available.<br />
** Free account holds 2GB.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
|https://spideroak.com/|{{AUR|spideroak}}}}<br />
<br />
* {{App|[[Wikipedia:Storage Made Easy|Storage Made Easy]]|Provides unified access to numerous cloud storage services, as well as its own storage.<br />
** Free and paid version available.<br />
** Free account holds 5GB and allows access to up to three other cloud storage providers.<br />
** Supports local directory via fuse, as well as web access.<br />
** Supports many cloud storage services, such as Box, Dropbox, Google Drive, Onedrive, and others.<br />
|http://storagemadeeasy.com/|{{AUR|smestorage}}}}<br />
<br />
* {{App|[[Wikipedia:Tahoe-LAFS|Tahoe-LAFS]]|Tahoe Least-Authority Filesystem is a free and open, secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.<br />
|https://tahoe-lafs.org/|{{AUR|tahoe-lafs}}}}<br />
<br />
* {{App|[[Wikipedia:Tarsnap|Tarsnap]]|A secure online backup service for BSD, Linux, OS X, Solaris and Windows (through Cygwin).<br />
** Compressed encrypted backups to Amazon S3 Servers.<br />
** Automate via [[cron]].<br />
** Incremental backups.<br />
** Backup any files or directories.<br />
** Command line only client.<br />
** Pay only for usage (bandwidth and storage). <br />
|http://www.tarsnap.com|{{Pkg|tarsnap}}}}<br />
<br />
* {{App|[[Wikipedia:Wuala|Wuala]]|A secure online storage, file synchronization, versioning and backup service.<br />
** Closed source, free and paid version available.<br />
** Free account holds 5GB.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
** Social networking features.<br />
** All files in the cloud are first encrypted locally.<br />
|http://www.wuala.com/|{{AUR|wuala}}, {{AUR|wuala-daemon}} &ndash; to run as daemon}}<br />
<br />
* {{App|[[Wikipedia:IDrive_Inc.|iDrive]]|Universal Online Backup.<br />
** Multiple Device Backup.<br />
** Online File Sync. <br />
** Real-Time Backup. <br />
** Backup and Access from Mobile Devices. <br />
** Remote Manage. <br />
** No GUI Front end for Linux, command line based. A wrapper script is available to make it easier to use.<br />
|https://www.idrive.com/|{{AUR|idevsutil}}, {{AUR|idrive-wrapper}}}}<br />
<br />
== Cooperative storage cloud backups ==<br />
<br />
A [[Wikipedia:Cooperative_storage_cloud|cooperative storage cloud]] is a decentralized model of networked online storage where data is stored on multiple computers, hosted by the participants cooperating in the cloud. <br />
<br />
* {{App|[http://www.symform.com Symform]| A peer-to-peer cloud backup service.<br />
** Unlimited free backup in exchange for 2:1 storage space contribution with an always-connected device (at least 80% uptime).<br />
** [http://www.symform.com/our-solutions/pricing/ Payment options exist].<br />
** First 10GB of backup storage is free (no contribution needed).<br />
** In addition to paid support, support plans in exchange for extended contribution (300GB+) exist.<br />
** Automatic and incremental backups.<br />
** Data is encrypted before leaving the computer, though keys are also stored on the Symform's servers.<br />
** Customizable limits for bandwidth consumption.<br />
** Ability to have a local copy ("Hot Copy") of the backed up data on a different disk or computer.<br />
** Ability to have synchronized folders between nodes (Dropbox-like).<br />
** Closed source, using mono. Windows clients available.<br />
|http://www.symform.com/|{{AUR|symform}}}}<br />
<br />
== Non-incremental backups ==<br />
Another type of backups are those used in case of a disaster. These include application that allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. The contains complete system images from one or more specific points in time and are frequently used by to record known good configurations.<br />
<br />
* {{App|Q7Z|P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.<br />
** Updates existing archives quickly.<br />
** Backup multiple folders to a storage location.<br />
** Create or extract protected archives.<br />
** Lessen effort by using archiving profiles and lists.<br />
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}<br />
<br />
* {{App|[[Partclone]]|A tool that can be used to back up and restore a partition while considering only used blocks.<br />
** Supports ext2, ext3, hfs+, reiser3.5, reiser3.6, reiser4, ext4 and btrfs.<br />
** Supports compression.<br />
|http://partclone.nchc.org.tw/trac/|{{Pkg|partclone}}}}<br />
<br />
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|A backup and disaster recovery application that runs from a bootable Linux CD image.<br />
** Is capable of bare-metal backup and recovery of disk partitions.<br />
** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.<br />
|http://www.redobackup.org/}}<br />
<br />
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|A disaster recovery, disk cloning, disk imaging and deployment solution.<br />
** Boots from live CD, USB flash drive, or PXE server.<br />
** Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.<br />
** Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.<br />
** Multicasting server to restore to many machines at once.<br />
|http://clonezilla.org/|{{Pkg|clonezilla}}}}<br />
<br />
* {{App|[[Wikipedia:Partimage|Partimage]]|A disk cloning utility for Linux/UNIX environments.<br />
** Has a Live CD.<br />
** Supports the most popular filesystems on Linux, Windows and Mac OS.<br />
** Compression.<br />
** Saving to multiple CDs or DVDs or across a network using Samba/NFS.<br />
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}<br />
<br />
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool<br />
** Support for basic file attributes (permissions, owner, ...).<br />
** Support for multiple file-systems per archive.<br />
** Support for extended attributes (they are used by SELinux).<br />
** Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.<br />
** Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of a Windows partitions).<br />
** Checksumming of everything which is written in the archive (headers, data blocks, whole files).<br />
** Ability to restore an archive which is corrupt (it will just skip the current file).<br />
** Multi-threaded lzo, gzip, bzip2, lzma compression.<br />
** Support for splitting large archives into several files with a fixed maximum size.<br />
** Encryption of the archive using a password. Based on blowfish from libcrypto from [[OpenSSL]].<br />
** Support backup of a mounted root filesystem (-A option).<br />
|http://www.fsarchiver.org/Main_Page|{{Pkg|fsarchiver}}}}<br />
<br />
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|A disaster recovery solution to create backup media that can be used to redeploy the damaged system.<br />
** Image-based backups, supporting Linux/Windows.<br />
** Compression rate is adjustable.<br />
** Can backup live systems (without having to halt it).<br />
** Can split image over many files.<br />
** Supports booting to a Live CD to perform a full restore.<br />
** Can backup/restore over NFS, from CDs, tape drives and and other media.<br />
** Can verify backups.<br />
|http://www.mondorescue.org/|{{AUR|mondo}}}}<br />
<br />
== Versioning systems ==<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
=== Version control systems ===<br />
{{Wikipedia|Comparison of revision control software}}<br />
<br />
* {{App|[[Git]]|A distributed revision control and source code management system with an emphasis on speed.<br />
** Very easy creation, merging, and deletion of branches.<br />
** Nearly all operations are performed locally, giving it a huge speed advantage on centralized systems.<br />
** Has a "staging area" or "index", this is an intermediate area where commits can be formatted and reviewed before completing the commit.<br />
** Does not handle binary files very well.<br />
|http://git-scm.com/|{{Pkg|git}}}}<br />
<br />
* {{App|[[Subversion]]|A full-featured centralized version control system originally designed to be a better CVS.<br />
** Renamed/copied/moved/removed files retain full revision history.<br />
** Native support for binary files, with space-efficient binary-diff storage.<br />
** Costs proportional to change size, not to data size.<br />
** Allows arbitrary metadata ("properties") to be attached to any file or directory. <br />
|http://subversion.apache.org/|{{Pkg|subversion}}}}<br />
<br />
* {{App|[[Mercurial]]|A distributed version control system written in Python and similar in many ways to Git.<br />
** Platform independent.<br />
** Support for [http://mercurial.selenic.com/wiki/UsingExtensions extensions].<br />
** A set of commands consistent with Subversion.<br />
** Supports tags.<br />
|http://mercurial.selenic.com/|{{Pkg|mercurial}}}}<br />
<br />
* {{App|[[Wikipedia:Bazaar (software)|Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.<br />
** Similar commands to Subversion.<br />
** Supports working with or without a central server.<br />
** Support for working with some other revision control systems<br />
** Complete Unicode support.<br />
|http://bazaar.canonical.com/en/|{{Pkg|bzr}}}}<br />
<br />
* {{App|[[Wikipedia:Darcs|Darcs]]|A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.<br />
** Offline mode.<br />
** Easy branching and merging.<br />
** Written in Haskell.<br />
** Not very fast.<br />
|http://darcs.net/|{{AUR|darcs}}}}<br />
<br />
=== VCS-based backups ===<br />
<br />
* {{App|Gibak|A backup system based on [[Git]].<br />
** Supports binary diffs.<br />
** Uses all of Git's features (such as {{ic|.gitignore}} for filtering files).<br />
** Uses Git's hook system to save information that Git does not (permissions, mtime, empty directories, etc).<br />
|https://github.com/pangloss/gibak|{{AUR|gibak}}}}<br />
* {{App|bup|A fledgling Git-based backup solution written in Python and C.<br />
** Uses a rolling checksum algorithm (similar to rsync) to split large files into chunks.<br />
** Can back up directly to a remote bup server.<br />
** Has an improved index format to allow you to track many files.<br />
|https://github.com/bup/bup|{{Pkg|bup}}}}<br />
* {{App|ColdStorage|Another backup tool using Git at its core, written in [[Qt]].|http://gitorious.org/coldstorage|{{AUR|coldstorage-git}}}}<br />
<br />
== See also ==<br />
<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]<br />
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=334911System-tar-and-restore2014-09-11T17:42:16Z<p>Tritonas00: /* Backup */ replaced 'or' with 'and'</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar and bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=334909System-tar-and-restore2014-09-11T17:30:49Z<p>Tritonas00: /* Restore/Transfer */ added more info on arguments</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=334908System-tar-and-restore2014-09-11T17:29:54Z<p>Tritonas00: /* Backup */ added more info on arguments</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}, {{ic|man system-tar-and-restore}} or [https://github.com/tritonas00/system-tar-and-restore#examples-using-arguments here].<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332824System-tar-and-restore2014-08-28T01:43:37Z<p>Tritonas00: Undo revision 332823 by Tritonas00 (talk)</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332823System-tar-and-restore2014-08-28T01:20:23Z<p>Tritonas00: /* Restore/Transfer */ removed spaces</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332821System-tar-and-restore2014-08-28T01:11:42Z<p>Tritonas00: /* Features */ added transfer</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore or transfer to the same or different disk/partition layout.<br />
* Restore or transfer to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332820System-tar-and-restore2014-08-28T01:08:57Z<p>Tritonas00: /* Restore/Transfer */ fixed note</p>
<hr />
<div>[[Category:System recovery]]<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Features ==<br />
<br />
* Full or partial backup<br />
* Restore to the same or different disk/partition layout.<br />
* Restore to an external device such as usb flash drive, sd card etc.<br />
* Restore a BIOS-based system to UEFI and vice versa.<br />
* Prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The ''backup.sh'' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The ''restore.sh'' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.}}<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
<br />
{{Note|<br />
In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
<br />
{{Warning|<br />
If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332785System-tar-and-restore2014-08-27T20:23:39Z<p>Tritonas00: /* Restore/Transfer */ updated warning</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.<br />
}}<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these GNU Tar options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332777System-tar-and-restore2014-08-27T20:10:33Z<p>Tritonas00: /* Restore/Transfer */ Added UEFI note</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Note|In order to restore a backup in UEFI, you must run the script from a UEFI environment.<br />
}}<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332718System-tar-and-restore2014-08-27T15:25:54Z<p>Tritonas00: /* Installation */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]] or from [https://wiki.archlinux.org/index.php/Unofficial_user_repositories#archlinuxgr-any archlinuxgr-any] repo.<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332717System-tar-and-restore2014-08-27T15:23:46Z<p>Tritonas00: /* Restore/Transfer */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
You can review all your settings in the summary.<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332711System-tar-and-restore2014-08-27T15:11:30Z<p>Tritonas00: /* Restore/Transfer */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
All options can also be passed using arguments. See {{ic|restore.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332710System-tar-and-restore2014-08-27T15:10:38Z<p>Tritonas00: /* Backup */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
All options can also be passed using arguments. See {{ic|backup.sh --help}}.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332650System-tar-and-restore2014-08-27T08:56:44Z<p>Tritonas00: /* Restore/Transfer */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system running the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332649System-tar-and-restore2014-08-27T08:56:02Z<p>Tritonas00: /* Restore/Transfer */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system that runs the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process completes, you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332648System-tar-and-restore2014-08-27T08:55:41Z<p>Tritonas00: /* Backup */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
When the process completes, you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system that runs the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process is finished you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332647System-tar-and-restore2014-08-27T08:54:52Z<p>Tritonas00: /* What is system-tar-and-restore? */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts include two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
When the process is finished you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system that runs the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process is finished you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332646System-tar-and-restore2014-08-27T08:22:24Z<p>Tritonas00: /* Things you can do */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts have two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
When the process is finished you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system that runs the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process is finished you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332645System-tar-and-restore2014-08-27T08:16:09Z<p>Tritonas00: /* Restore/Transfer */</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts have two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to a an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
When the process is finished you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system that runs the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any of these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process is finished you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=System-tar-and-restore&diff=332644System-tar-and-restore2014-08-27T08:12:42Z<p>Tritonas00: Created page with "Category:System recovery == What is system-tar-and-restore? == '''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former m..."</p>
<hr />
<div>[[Category:System recovery]]<br />
<br />
== What is system-tar-and-restore? ==<br />
<br />
'''System-tar-and-restore''' contains two bash scripts, '''backup.sh''' and '''restore.sh'''. The former makes a tar backup of your system. The latter restores the backup or transfers your system using {{Pkg|rsync}} in desired partition(s). The scripts have two interfaces, '''cli''' and '''dialog''' (ncurses). If you plan to use the second, install {{Pkg|dialog}} from the [[official repositories]].<br />
<br />
== Installation ==<br />
<br />
Install {{AUR|system-tar-and-restore}} from the [[AUR]].<br />
<br />
== Things you can do ==<br />
<br />
* You can make a full or partial backup of your system.<br />
* You can restore/transfer your system to the same or different disk/partition layout.<br />
* You can restore/transfer your system to a an external device such as usb flash drive, sd card etc.<br />
* You can restore your BIOS backed up system to UEFI and vice versa.<br />
* You can prepare a system in a virtual machine (such as {{Pkg|virtualbox}}), back it up and restore it in a normal machine.<br />
<br />
== Backup ==<br />
<br />
The '''backup.sh''' script makes a tar backup of your system. You will be asked for:<br />
<br />
* '''Destination directory''': Were you want to save the backup. Default is {{ic|/}}.<br />
* '''Archive name''': A desired name for the backup. Default is {{ic|Backup-$(hostname)-$(date +%d-%m-%Y-%T)}}.<br />
*'''/home directory options''': You have three options: fully include it, keep only it's hidden files and folders (which are necessary to login and keep basic settings) or completely exclude it (in case it's located in separate partition and you want to use that in restore).<br />
* '''Archiver''': You can choose between GNU Tar or bsdtar (Libarchive).<br />
* '''Compression''': You can choose between gzip, bzip2, xz and none (for no compression). Gzip should be fine.<br />
* '''Archiver options''': You can pass your own extra options in the archiver. See {{ic|tar --help}} or {{ic|man bsdtar}} for more info.<br />
<br />
{{Note|<br />
* The script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* .gvfs /var/run/* /var/lock/* lost+found}}<br />
*If you use GNU Tar, it's advisable to add {{ic|--acls --xattrs}} and {{ic|--selinux}} (if available).<br />
}}<br />
<br />
You can review all your settings in the summary and also view the supported bootloaders found on your system ({{Pkg|grub}} and {{Pkg|syslinux}}).<br />
<br />
Also you can set all the options in {{ic|/etc/backup.conf}}. Copy from the sample file {{ic|/usr/share/system-tar-and-restore/backup.conf}} and edit it to your needs.<br />
<br />
When the process is finished you may want to check {{ic|backup.log}} file in the same directory with the backup archive.<br />
<br />
{{Warning|<br />
* If you plan to restore in [[LVM]] or [[RAID]], you need to add the corresponding hooks in {{ic|/etc/mkinitpcio.conf}} '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/GUID_Partition_Table GPT] with {{Pkg|syslinux}}, make sure you have {{Pkg|gptfdisk}} installed '''before''' the backup.<br />
* If you plan to restore in [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface UEFI] make sure you have {{Pkg|efibootmgr}} and {{Pkg|dosfstools}} installed '''before''' the backup.<br />
}}<br />
<br />
== Restore/Transfer ==<br />
<br />
The '''restore.sh''' script has two modes: '''Restore''' and '''Transfer'''. The first uses the above created archive to extract it in desired partition(s). The second transfers your system in desired partition(s) using {{Pkg|rsync}}. Then, in both cases, generates the target system's fstab, rebuilds initramfs for every available kernel, generates locales and finally installs and configures the selected bootloader.<br />
<br />
{{Warning|The system that runs the restore script and the target system (the one you want to restore), must have the same architecture (for chroot to work).<br />
}}<br />
<br />
Boot from a livecd or another existing system, create and format your target partition(s) and start the script. You will be asked for:<br />
<br />
* '''Target partitions''': You must specify at least one target root partition and in case of UEFI a target [https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition ESP] partition. Optionally you can choose any other partition for your /home, /boot, swap or custom mount points (/var /opt etc.)<br />
* '''Mount options''': You can specify alternative comma-seperated mount options for the target root partition. Defaults are {{ic|defaults,noatime}}.<br />
*'''Btrfs subvolumes''': If the target root filesystem is [[Btrfs]], the script will ask if you want to create a subvolume for it. If yes, it will ask for the subvolume's name and also if you want to create other subvolumes. Just enter the subvolume paths (/home /var /usr etc.) seperated by space. Recommended root subvolume name is {{ic|__active}}.<br />
* '''Bootloader''': You can choose {{Pkg|grub}} or {{Pkg|syslinux}}, the target disk and in case of syslinux any additional kernel options that will be written in the target syslinux.cfg.<br />
{{Note|If you select a raid array as bootloader disk, the script will install the bootloader in all disks that the array contains.<br />
}}<br />
* '''Select mode''': In Restore mode you have to specify the archiver you used to create the backup archive and the backup archive location, local or remote (you will need {{Pkg|wget}}). In Transfer mode you will have to specify if you want to transfer your entire /home directory or only it's hidden files and folders (which are necessary to login and keep basic settings).<br />
* '''Tar/Rsync options''': You may want to specify any additional options. See {{ic|tar --help}}, {{ic|man bsdtar}} or {{ic|rsync --help}} for more info.<br />
{{Note|In Transfer mode the script excludes all dynamically populated directories and some tmpfs locations: {{ic|/run/* /proc/* /dev/* /media/* /sys/* /tmp/* /mnt/* /home/*/.gvfs /var/run/* /var/lock/* lost+found}}<br />
}}<br />
{{Warning|If you specified any these options: {{ic|--acls --xattrs --selinux}} in the backup process, you must specify them again here.<br />
}}<br />
<br />
When the process is finished you may want to check {{ic|/tmp/restore.log}}.</div>Tritonas00https://wiki.archlinux.org/index.php?title=Synchronization_and_backup_programs&diff=321210Synchronization and backup programs2014-06-22T13:53:57Z<p>Tritonas00: /* Console */</p>
<hr />
<div>[[Category:Data compression and archiving]]<br />
[[Category:System recovery]]<br />
[[de:Backups]]<br />
[[ru:Backup Programs]]<br />
{{Related articles start}}<br />
{{Related|Full system backup with rsync}}<br />
{{Related|Full System Backup with tar}}<br />
{{Related|Disk Cloning}}<br />
{{Related articles end}}<br />
This wiki page contains information about various backup programs. It's a good idea to ''have'' regular backups of important data, most notably configuration files ({{Ic|/etc/*}}) and the local pacman database (usually {{Ic|/var/lib/pacman/local/*}}).<br />
<br />
== Introduction ==<br />
Before you start trying various programs out, try to think about your needs, e.g. consider the following questions:<br />
* What backup medium do I have available? (CD, DVD, remote server, external hard drive, etc.)<br />
* How often do I plan to backup? (daily, weekly, monthly, etc.)<br />
* What features do I expect from the backup solution? (compression, encryption, handles renames, etc.)<br />
* How do I plan to restore backups if needed?<br />
<br />
== Incremental backups ==<br />
Applications that can do incremental backups remember and take into account what data has been backed up during the last run and eliminate the need to have duplicates of unchanged data. Restoring the data to a certain point in time would require locating the last full backup and all the incremental backups from then to the moment when it is supposed to be restored. This sort of backup is useful for those who do it very often.<br />
<br />
=== Rsync-type backups ===<br />
The main characteristic of this type of backups is that they maintain a copy of the directory you want to keep a backup of, in a traditional "mirror" fashion.<br />
<br />
Certain rsync-type packages also do snapshot backups by storing files which describe how the contents of files and folders changed from the last backup (so-called 'diffs'). Hence, they are inherently incremental, but usually they do not have compression or encryption. On the other hand, a working copy of everything is immediately available, no decompression/decryption needed. A downside to rsync-type programs is that they cannot be easily burned and restored from a CD or DVD.<br />
<br />
==== Console ====<br />
* {{App|[[rsync]]|A file transfer program to keep remote files in sync.<br />
** rsync almost always makes a mirror of the source.<br />
** It is possible to restore a full backup before the most recent backup if hardlinks are allowed in the backup file system. See [http://www.ibm.com/developerworks/aix/library/au-spunix_rsync/index.html#backup Back up your data with rsync] for more information.<br />
** If hard links are not allowed, it is impossible to restore a full backup before the most recent backup (but you can use --backup to keep old versions of the files).<br />
** Standard install on all distros.<br />
** Can run over SSH (port 22) or native rsync protocol (port 873).<br />
** Win32 version available.<br />
|http://rsync.samba.org/|{{Pkg|rsync}}}}<br />
<br />
* {{App|[[Wikipedia:Rsync#Variations|rdiff-backup]]|A utility for local/remote mirroring and incremental backups.<br />
** Stores the most recent backup as regular files.<br />
** To revert to older versions, you apply the diff files to recreate the older versions.<br />
** It is granularly incremental (delta backup), it only stores changes to a file; will not create a new copy of a file upon change.<br />
** Win32 version available.<br />
|http://www.nongnu.org/rdiff-backup/|{{Pkg|rdiff-backup}}}}<br />
<br />
* {{App|[[rsnapshot]]|A remote filesystem snapshot utility.<br />
** Does not store diffs, instead it copies entire files if they have changed.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** It is differential in that the size of the backup is only the original backup size plus the size of all files that have changed since the last backup.<br />
** Destination filesystem must support hard links.<br />
** Win32 version available.<br />
|http://www.rsnapshot.org/|{{Pkg|rsnapshot}}}}<br />
<br />
* {{App|SafeKeep|A client/server backup system which uses rdiff-backup.<br />
** Integrates with Linux LVM and databases to create consistent backups.<br />
** Bandwidth throttling.<br />
|http://safekeep.sourceforge.net/|{{AUR|safekeep}}}}<br />
<br />
* {{App|Link-Backup|A tool similar to rsync based scripts, but which does not use rsync. NOTE: no upstream activity since 2008. <br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Intelligently handles renames, moves, and duplicate files without additional storage or transfer.<br />
** The backup directory contains {{ic|.catalog}}, a catalog of all unique file instances; backup trees hard-link to this catalog.<br />
** Transfer occurs over standard I/O locally or remotely between a client and server instance of this script.<br />
** It copies itself to the server; it does not need to be installed on the server.<br />
** Requires SSH for remote backups.<br />
** It resumes stopped backups; it can even be told to run for an arbitrary number of minutes.<br />
|http://www.scottlu.com/Content/Link-Backup.html|{{AUR|link-backup}}}}<br />
<br />
* {{App|[[Wikipedia:Unison (file synchronizer)|Unison]]|A program that synchronizes files between two machines over network (LAN or Inet) using a smart diff method + rsync. Allows the user to interactively choose which changes to push, pull, or merge.|http://www.cis.upenn.edu/~bcpierce/unison/|{{Pkg|unison}}}}<br />
<br />
* {{App|rsync-snapshot.sh|Another rsync shellscript with smart rotation (non-linear distribution) of backups. Integrity protection, Quotas, Rules and many more features.|http://blog.pointsoftware.ch/index.php/howto-local-and-remote-snapshot-backup-using-rsync-with-hard-links/}}<br />
<br />
* {{App|osync.sh|Osync is a robust bidirectional file synchronization tool written in bash and based on rsync. It works on local and / or remote directories via ssh tunnels. It's mainly targeted to be launched as cron task, with features turned towards automation among:<br />
** Execution time control<br />
** Fault tolerance with possibility to resume on error<br />
** Soft deletion, on-conflict backups with automatic cleanup<br />
** Alert notifications via email<br />
** Before and /or after time controlled local and / or remote command execution<br />
** File monitor mode<br />
|http://www.netpower.fr/osync}}<br />
<br />
* {{App|oldtime|A bash script using rsync to provide a backup solution.|https://github.com/GutenYe/oldtime|{{AUR|oldtime}}}}<br />
<br />
* {{App|trinkup|A 60-lines bash script which holds specified amount of incremental backups using rsync and "cp -al" to minimize amount of disk operations.|https://gist.github.com/ei-grad/7610406/raw/trinkup|{{AUR|trinkup}}}}<br />
<br />
==== Graphical ====<br />
* {{App|[[Wikipedia:Areca Backup|Areca Backup]]|An easy to use and reliable backup solution for Linux and Windows.<br />
** Written in Java.<br />
** Primarily archive-based (zip), but will do file-based backup as well.<br />
** Delta backup supported (stores only changes).<br />
|http://areca.sourceforge.net/|{{AUR|areca}}}}<br />
<br />
* {{App|[[BackupPC]]|A high-performance, enterprise-grade system for backing up Unix, Linux, Windows, and Mac OS X desktops and laptops to a remote server.<br />
** Deduplication: Identical files across multiple backups of the same or different PCs are stored only once resulting in substantial savings in disk storage and disk I/O.<br />
** Optional compression support further reducing disk storage.<br />
** No client-side software is needed.<br />
** Simple but powerful web-based UI.<br />
|http://backuppc.sourceforge.net/index.html|{{Pkg|backuppc}}}}<br />
<br />
* {{App|[[Back In Time]]|A simple backup tool for Linux inspired by the [[Wikipedia:FlyBack|FlyBack]] and [https://wiki.ubuntu.com/TimeVault/ TimeVault] projects.<br />
** Creates hard links between a series of backed-up trees (snapshots).<br />
** Really is just a front-end to {{ic|rsync}}, {{ic|diff}}, {{ic|cp}}.<br />
** A new snapshot is created only if something changed since the last snapshot.<br />
|http://backintime.le-web.org/|{{AUR|backintime}} or as a prebuild package from [http://arch.coderkun.de/ codercun's repo]}}<br />
<br />
* {{App|[[Wikipedia:FlyBack|FlyBack]]|A clone of Apple's [[Wikipedia:Time Machine (Mac OS)|Time Machine]], a backup utility for Mac OS X.|http://www.flyback-project.org/|{{AUR|flyback}}}}<br />
<br />
* {{App|Free File Sync|Free File Sync helps you synchronize files and synchronize folders for Windows, Linux and Mac OS X. It is designed to save your time setting up and running backup jobs while having nice visual feedback along the way.<br />
|http://freefilesync.sourceforge.net/|{{AUR|freefilesync}}}}<br />
<br />
* {{App|Grsync|GTK+ interface to rsync|http://www.opbyte.it/grsync/|{{Pkg|grsync}}}}<br />
<br />
* {{App|[[Wikipedia:LuckyBackup|luckyBackup]]|An easy program to backup and sync your files.<br />
** It is written in Qt and C++.<br />
** It has sync, backup (with include and exclude options) and restore capabilities.<br />
** It can do remote connection backups, scheduled backups.<br />
** A command line mode.<br />
|http://luckybackup.sourceforge.net/index.html|{{AUR|luckybackup}}}}<br />
<br />
* {{App|syncBackup|A front-end for rsync that provides a fast and extraordinary copying tool. It offers the most common options that control its behavior and permit very flexible specification of the set of files to be copied.<br />
|http://www.darhon.com/syncbackup|{{AUR|syncbackup}}}}<br />
<br />
* {{App|TimeShift|TimeShift is a system restore utility which takes incremental snapshots of the system using rsync and hard-links. These snapshots can be restored at a later date to undo all changes that were made to the system after the snapshot was taken. Snapshots can be taken manually or at regular intervals using scheduled jobs.<br />
|https://launchpad.net/timeshift|{{AUR|timeshift}}}}<br />
<br />
=== Other backups ===<br />
Most other backup applications tend to create (big) archive files and (of course) keep track of what's been archived. Creating {{ic|.tar.bz2}} or {{ic|.tar.gz}} archives has the advantage that you can extract the backups with just tar/bzip2/gzip, so you do not need to have the backup program around.<br />
<br />
==== Console ====<br />
* {{App|Arch Backup|A trivial backup script with simple configuration.<br />
** Configurable compression method.<br />
** Multiple backup targets.<br />
|http://code.google.com/p/archlinux-stuff/|{{Pkg|arch-backup}}}}<br />
<br />
* {{App|[[Backup with hdup|hdup]]|A very simple command line backup tool.<br />
** Creates tar.gz or tar.bz2 archives.<br />
** Supports gpg encryption.<br />
** Supports pushing over SSH.<br />
** Multiple backup targets.<br />
|http://miek.nl/projects/hdup2/|{{AUR|hdup}}}}<br />
<br />
* {{App|rdup|A platform for backups that provides scripts to facilitate backups and delegates the encryption, compression, transfer and packaging to other utilities in a true Unix-way.<br />
** Creates tar.gz archives or rsync-type copy.<br />
** Encryption (gpg, blowfish and others); also applies for rsync-type copy.<br />
** Compression (also for rsync-type copy).<br />
|http://miek.nl/projects/rdup|{{AUR|rdup}}}}<br />
<br />
* {{App|[[Duplicity]]|A simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.<br />
** Supports gpg encryption and signing.<br />
** Supports gzip compression.<br />
** Supports full or incremental backups, incremental backup stores only difference between new and old file.<br />
** Supports pushing over FTP, SSH, rsync, WebDAV, WebDAVs, HSi and Amazon S3 or local filesystem.<br />
|http://www.nongnu.org/duplicity/|{{Pkg|duplicity}}}}<br />
<br />
* {{App|[[Wikipedia:DAR (Disk Archiver)|DAR]]|A full-featured command-line backup tool, short for Disk ARchive.<br />
** It uses its own format for archives (so you need to have it around when you want to restore).<br />
** Supports splitting backups into more files by size.<br />
** Makefile-type config files, some custom scripts are available along with it.<br />
** Supports basic encryption.<br />
** Automatic backup using [[cron]] is possible with {{AUR|sarab}}.<br />
|http://dar.linux.free.fr/|{{AUR|dar}} {{AUR|kdar}} (fontend)}}<br />
<br />
* {{App|Manent|An algorithmically strong backup and archival program. NOTE: no upstream activity since 2009.<br />
** Efficient backup to anything that looks like a storage.<br />
** Works well over a slow and unreliable network.<br />
** Offers online access to the contents of the backup.<br />
** Backed up storage is completely encrypted.<br />
** Several computers can use the same storage for backup, automatically sharing data.<br />
** Not reliant on timestamps of the remote system to detect changes.<br />
** Cross-platform support for Unicode file names.<br />
|http://code.google.com/p/manent/|{{AUR|manent}}}}<br />
<br />
* {{App|btar|tar-compatible archiver<br />
** Fast archive creation (multicore compression or ciphering)<br />
** Arbitrary chain of compression/ciphers (calls any compression/ciphering programs)<br />
** Indexed archive retrieval or listing<br />
** Redundancy<br />
** Serialization through pipes (and only one file per backup)<br />
** Can be extracted or checked with gnutar<br />
** Differential backups of multiple levels<br />
** Optional encoding of big files with rsync-differences<br />
|http://viric.name/cgi-bin/btar|{{AUR|btar}}}}<br />
<br />
* {{App|burp|Burp is a network backup and restore program<br />
** Uses librsync in order to save network traffic and to save on the amount of space that is used by each backup. <br />
** It also uses VSS (Volume Shadow Copy Service) to make snapshots when backing up Windows computers.<br />
** deduplication<br />
** SSL/TLS connections<br />
** automation the process of generating SSL certificates<br />
** data encryption<br />
** security models [http://burp.grke.org/txt/security-models.txt]<br />
|http://burp.grke.org|{{AUR|burp-backup}}}}<br />
<br />
* {{App|obnam|Easy, secure backup program<br />
** Snapshot backups. Every generation looks like a complete snapshot.<br />
** Data chunk de-duplication, across files, and backup generations. This results in incremental backups.<br />
** Optionally encrypted backups, using GnuPG.<br />
** FUSE mountable backup repository.<br />
|http://liw.fi/obnam/|{{AUR|obnam}}}}<br />
<br />
* {{App|System Tar & Restore|A set of bash scripts for full system backup and restore<br />
** CLI and Dialog interfaces<br />
** Easy backup and restore wizards<br />
** Uses tar / bsdtar to create and restore backups<br />
** Creates ''.tar.gz'', ''.tar.bz2'', ''.tar.xz'' or ''.tar'' archives<br />
** Uses rsync to transfer a running system<br />
** Supports Grub2 and Syslinux<br />
|https://github.com/tritonas00/system-tar-and-restore|{{AUR|system-tar-and-restore}}}}<br />
<br />
* {{App|Packrat|A simple, modular backup system using [[Wikipedia:DAR (Disk Archiver)|DAR]]<br />
** Full or incremental backups stored locally, on a remote system via SSH, or on Amazon S3<br />
|http://www.zeroflux.org/projects|{{AUR|packrat}}}}<br />
<br />
* {{App|Attic|A deduplicating backup program for efficient and secure backups.<br />
** Space efficient storage: Variable block size deduplication is used to reduce the number of bytes stored by detecting redundant data.<br />
** Optional data encryption: All data can be protected using 256-bit AES encryption and data integrity and authenticity is verified using HMAC-SHA256.<br />
** Off-site backups: Any data can be stored on any remote host accessible over SSH (as long as Attic is installed).<br />
** Backups mountable as filesystems: Backup archives are mountable as userspace filesystems for easy backup verification and restores.<br />
|https://github.com/jborg/attic/|{{AUR|attic}}}}<br />
<br />
==== Graphical ====<br />
* {{App|Backerupper|A simple program for backing up selected directories over a local network. Its main intended purpose is backing up a user's personal data.<br />
** Creates {{ic|.tar.gz}} archives.<br />
** Configurable backup frequency, backup time and max copies.<br />
|http://sourceforge.net/projects/backerupper/|{{AUR|backerupper}}}}<br />
<br />
* {{App|[[Duplicity|Déjà Dup]]|A simple GTK+ backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.<br />
** Automatic, timed backup configurable in GUI.<br />
** Restore wizard.<br />
** Integrated into the Nautilus file manager.<br />
** Inherits several features of duplicity.<br />
|https://launchpad.net/deja-dup|{{Pkg|deja-dup|}}}}<br />
<br />
* {{App|Synkron|A folder synchronization tool.<br />
** Syncs multiple folders.<br />
** Can exclude files from sync based on wildcards.<br />
** Restores files.<br />
** Cross-platform support.<br />
|http://synkron.sourceforge.net/|{{AUR|synkron}}}}<br />
<br />
== Cloud backups ==<br />
<br />
{{Wikipedia|Comparison of online backup services}}<br />
<br />
* {{App|[[Wikipedia:Barracuda_Networks#Products|Copy]]|A fair solution to shared folders.<br />
** 15GB free.<br />
** Shared folders size are split between people.<br />
** Daemon to sync files between the cloud and the computer.<br />
** Almost any platform supported.<br />
** Offers AES-256 encryption.<br />
|https://www.copy.com/home/|{{AUR|copy-agent}}}}<br />
<br />
* {{App|[[CrashPlan]]|An online/offsite backup solution.<br />
** Unlimited online space for very reasonable pricing.<br />
** Automatic and incremental backups to multiple destinations.<br />
** Intuitive GUI.<br />
** Offers encryption and de-duplication.<br />
** Software is free for local use.<br />
** Restore prevents simultaneous backing up<br />
|http://www.crashplan.com/|{{AUR|crashplan}}}}<br />
<br />
* {{App|[[Dropbox]]|A popular file-sharing service.<br />
** A daemon monitors a specified directory, and uploads incremental changes to dropbox.com. <br />
** Changes automatically show up on your other computers. <br />
** Includes file sharing and a public directory. <br />
** You can recover deleted files. <br />
** Community written add-ons. <br />
** Free accounts have 2GB storage.<br />
|http://www.getdropbox.com|{{AUR|dropbox}} {{AUR|nautilus-dropbox}}}}<br />
<br />
* {{App|[[Wikipedia:Google Drive|Google Drive]]|A file storage and synchronization service provided by Google.<br />
** Provides cloud storage, file sharing and collaborative editing.<br />
** Multiple clients are available.<br />
|https://drive.google.com|{{AUR|google-drive-ocamlfuse}} (free), [[Grive]] (free), {{AUR|insync}} (non-free)}}<br />
<br />
* {{App|[[Wikipedia:Jungle Disk|Jungle Disk]]|An online backup tool that stores its data in Amazon S3 or Rackspace Cloud Files.<br />
** A Nautilus extension.<br />
** Only paid plans available.<br />
|http://www.jungledisk.com/|{{AUR|nautilus-jungledisk}}}}<br />
<br />
* {{App|[[Wikipedia:Mega (website)|MEGA]]|Successor to the MegaUpload file-sharing service.<br />
** Free accounts are 50GB with paid plans available for more space.<br />
** Offers encryption and de-duplication.<br />
** Usualy accessed through its web interface but other tools exist.<br />
|https://mega.co.nz|{{AUR|megatools}}}}<br />
<br />
* {{App|[[Wikipedia:SpiderOak|SpiderOak]]|An online backup tool for Windows, Mac and Linux users to back up, share, sync, access and store their data.<br />
** Free and paid version available.<br />
** Free account holds 2GB.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
|https://spideroak.com/|{{AUR|spideroak}}}}<br />
<br />
* {{App|[[Wikipedia:Storage Made Easy|Storage Made Easy]]|Provides unified access to numerous cloud storage services, as well as its own storage.<br />
** Free and paid version available.<br />
** Free account holds 5GB and allows access to up to three other cloud storage providers.<br />
** Supports local directory via fuse, as well as web access.<br />
** Supports many cloud storage services, such as Box, Dropbox, Google Drive, Onedrive, and others.<br />
|http://storagemadeeasy.com/|{{AUR|smestorage}}}}<br />
<br />
* {{App|[[Wikipedia:Tahoe-LAFS|Tahoe-LAFS]]|Tahoe Least-Authority Filesystem is a free and open, secure, decentralized, fault-tolerant, peer-to-peer distributed data store and distributed file system.<br />
|https://tahoe-lafs.org/|{{AUR|tahoe-lafs}}}}<br />
<br />
* {{App|Tarsnap|A secure online backup service for BSD, Linux, OS X, Solaris and Windows (through Cygwin).<br />
** Compressed encrypted backups to Amazon S3 Servers.<br />
** Automate via [[cron]].<br />
** Incremental backups.<br />
** Backup any files or directories.<br />
** Command line only client.<br />
** Pay only for usage (bandwidth and storage). <br />
|http://www.tarsnap.com|{{Pkg|tarsnap}}}}<br />
<br />
* {{App|[[Wikipedia:Wuala|Wuala]]|A secure online storage, file synchronization, versioning and backup service.<br />
** Closed source, free and paid version available.<br />
** Free account holds 5GB.<br />
** Includes file sharing and a public directory.<br />
** Incremental backup and sync are both supported.<br />
** Social networking features.<br />
** All files in the cloud are first encrypted locally.<br />
|http://www.wuala.com/|{{AUR|wuala}}, {{AUR|wuala-daemon}} &ndash; to run as daemon}}<br />
<br />
== Cooperative storage cloud backups ==<br />
<br />
A [[Wikipedia:Cooperative_storage_cloud|cooperative storage cloud]] is a decentralized model of networked online storage where data is stored on multiple computers, hosted by the participants cooperating in the cloud. <br />
<br />
* {{App|[http://www.symform.com Symform]| A peer-to-peer cloud backup service.<br />
** Unlimited free backup in exchange for 2:1 storage space contribution with an always-connected device (at least 80% uptime).<br />
** [http://www.symform.com/our-solutions/pricing/ Payment options exist].<br />
** First 10GB of backup storage is free (no contribution needed).<br />
** In addition to paid support, support plans in exchange for extended contribution (300GB+) exist.<br />
** Automatic and incremental backups.<br />
** Data is encrypted before leaving the computer, though keys are also stored on the Symform's servers.<br />
** Customizable limits for bandwidth consumption.<br />
** Ability to have a local copy ("Hot Copy") of the backed up data on a different disk or computer.<br />
** Ability to have synchronized folders between nodes (Dropbox-like).<br />
** Closed source, using mono. Windows clients available.<br />
|http://www.symform.com/|{{AUR|symform}}}}<br />
<br />
== Non-incremental backups ==<br />
Another type of backups are those used in case of a disaster. These include application that allow easy backup of entire filesystems and recovery in case of failure, usually in the form of a Live CD or USB drive. The contains complete system images from one or more specific points in time and are frequently used by to record known good configurations.<br />
<br />
* {{App|Q7Z|P7Zip GUI for Linux, which attempts to simplify data compression and backup. It can create the following archive types: 7z, BZip2, Zip, GZip, Tar.<br />
** Updates existing archives quickly.<br />
** Backup multiple folders to a storage location.<br />
** Create or extract protected archives.<br />
** Lessen effort by using archiving profiles and lists.<br />
|http://k7z.sourceforge.net/|{{AUR|q7z}}}}<br />
<br />
* {{App|[[Partclone]]|A tool that can be used to back up and restore a partition while considering only used blocks.<br />
** Supports ext2, ext3, hfs+, reiser3.5, reiser3.6, reiser4, ext4 and btrfs.<br />
** Supports compression.<br />
|http://partclone.nchc.org.tw/trac/|{{Pkg|partclone}}}}<br />
<br />
* {{App|[[Wikipedia:Redo Backup and Recovery|Redo Backup and Recovery]]|A backup and disaster recovery application that runs from a bootable Linux CD image.<br />
** Is capable of bare-metal backup and recovery of disk partitions.<br />
** Uses [http://www.xpud.org/ xPUD] and [[Partclone]] for the backend.<br />
|http://www.redobackup.org/}}<br />
<br />
* {{App|[[Wikipedia:Clonezilla|Clonezilla]]|A disaster recovery, disk cloning, disk imaging and deployment solution.<br />
** Boots from live CD, USB flash drive, or PXE server.<br />
** Supports ext2, ext3, ext4, reiserfs, reiser4, xfs, jfs, btrfs FAT32, NTFS, HFS+ and others.<br />
** Uses Partclone (default), Partimage (optional), ntfsclone (optional), or dd to image or clone a partition.<br />
** Multicasting server to restore to many machines at once.<br />
|http://clonezilla.org/|{{Pkg|clonezilla}}}}<br />
<br />
* {{App|[[Wikipedia:Partimage|Partimage]]|A disk cloning utility for Linux/UNIX environments.<br />
** Has a Live CD.<br />
** Supports the most popular filesystems on Linux, Windows and Mac OS.<br />
** Compression.<br />
** Saving to multiple CDs or DVDs or across a network using Samba/NFS.<br />
|http://www.partimage.org/Main_Page|{{Pkg|partimage}}}}<br />
<br />
* {{App|FSArchiver|A safe and flexible file-system backup and deployment tool<br />
** Support for basic file attributes (permissions, owner, ...).<br />
** Support for multiple file-systems per archive.<br />
** Support for extended attributes (they are used by SELinux).<br />
** Support the basic file-system attributes (label, uuid, block-size) for all linux file-systems.<br />
** Support for [http://www.fsarchiver.org/Cloning-ntfs ntfs filesystems] (ability to create flexible clones of a Windows partitions).<br />
** Checksumming of everything which is written in the archive (headers, data blocks, whole files).<br />
** Ability to restore an archive which is corrupt (it will just skip the current file).<br />
** Multi-threaded lzo, gzip, bzip2, lzma compression.<br />
** Support for splitting large archives into several files with a fixed maximum size.<br />
** Encryption of the archive using a password. Based on blowfish from libcrypto from [[OpenSSL]].<br />
** Support backup of a mounted root filesystem (-A option).<br />
|http://www.fsarchiver.org/Main_Page|{{Pkg|fsarchiver}}}}<br />
<br />
* {{App|[[Wikipedia:Mondo Rescue|Mondo Rescue]]|A disaster recovery solution to create backup media that can be used to redeploy the damaged system.<br />
** Image-based backups, supporting Linux/Windows.<br />
** Compression rate is adjustable.<br />
** Can backup live systems (without having to halt it).<br />
** Can split image over many files.<br />
** Supports booting to a Live CD to perform a full restore.<br />
** Can backup/restore over NFS, from CDs, tape drives and and other media.<br />
** Can verify backups.<br />
|http://www.mondorescue.org/|{{AUR|mondo}}}}<br />
<br />
== Versioning systems ==<br />
These are traditionally used for keeping track of software development; but if you want to have a simple way to manage your config files in one directory, it might be a good solution.<br />
<br />
=== Version control systems ===<br />
{{Wikipedia|Comparison of revision control software}}<br />
<br />
* {{App|[[Git]]|A distributed revision control and source code management system with an emphasis on speed.<br />
** Very easy creation, merging, and deletion of branches.<br />
** Nearly all operations are performed locally, giving it a huge speed advantage on centralized systems.<br />
** Has a "staging area" or "index", this is an intermediate area where commits can be formatted and reviewed before completing the commit.<br />
** Does not handle binary files very well.<br />
|http://git-scm.com/|{{Pkg|git}}}}<br />
<br />
* {{App|[[Subversion]]|A full-featured centralized version control system originally designed to be a better CVS.<br />
** Renamed/copied/moved/removed files retain full revision history.<br />
** Native support for binary files, with space-efficient binary-diff storage.<br />
** Costs proportional to change size, not to data size.<br />
** Allows arbitrary metadata ("properties") to be attached to any file or directory. <br />
|http://subversion.apache.org/|{{Pkg|subversion}}}}<br />
<br />
* {{App|[[Mercurial]]|A distributed version control system written in Python and similar in many ways to Git.<br />
** Platform independent.<br />
** Support for [http://mercurial.selenic.com/wiki/UsingExtensions extensions].<br />
** A set of commands consistent with Subversion.<br />
** Supports tags.<br />
|http://mercurial.selenic.com/|{{Pkg|mercurial}}}}<br />
<br />
* {{App|[[Wikipedia:Bazaar (software)|Bazaar]]|A distributed version control system that helps you track project history over time and to collaborate easily with others.<br />
** Similar commands to Subversion.<br />
** Supports working with or without a central server.<br />
** Support for working with some other revision control systems<br />
** Complete Unicode support.<br />
|http://bazaar.canonical.com/en/|{{Pkg|bzr}}}}<br />
<br />
* {{App|[[Wikipedia:Darcs|Darcs]]|A distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.<br />
** Offline mode.<br />
** Easy branching and merging.<br />
** Written in Haskell.<br />
** Not very fast.<br />
|http://darcs.net/|{{AUR|darcs}}}}<br />
<br />
=== VCS-based backups ===<br />
<br />
* {{App|Gibak|A backup system based on [[Git]].<br />
** Supports binary diffs.<br />
** Uses all of Git's features (such as {{ic|.gitignore}} for filtering files).<br />
** Uses Git's hook system to save information that Git does not (permissions, mtime, empty directories, etc).<br />
|https://github.com/pangloss/gibak|{{AUR|gibak}}}}<br />
* {{App|bup|A fledgling Git-based backup solution written in Python and C.<br />
** Uses a rolling checksum algorithm (similar to rsync) to split large files into chunks.<br />
** Can back up directly to a remote bup server.<br />
** Has an improved index format to allow you to track many files.<br />
|https://github.com/bup/bup|{{AUR|bup}}}}<br />
* {{App|ColdStorage|Another backup tool using Git at its core, written in [[Qt]].|http://gitorious.org/coldstorage|{{AUR|coldstorage-git}}}}<br />
<br />
== External Resources ==<br />
* [http://www.halfgaar.net/backing-up-unix Backing up Linux and other Unix(-like) systems]<br />
* [http://www.askapache.com/security/mirror-using-rsync-ssh.html Mirroring an Entire Site using Rsync over SSH]</div>Tritonas00