Transform rdup output
rdup-tr [OPTION]...
Transform rdup output into something else. Where something else can be a tar, cpio, pax archive or another rdup stream.
The rdup archive must be given on rdup-tr's standard input.
You can select multiple types of output (-O flag), but you must be aware that you may loose some information in formats other than rdup's own, see the table below.
You may also supply rdup-tr with only a list of pathnames, this can be selected with the -L flag.
The following table shows what happens with the output depending on the input.
0
OK
D
delete information is lost
H
hardlink information is lost
output |
---|
tar,cpio,pax |
rdup |
input |
------------- |
------------- |
------ |
rdup |
D |
0 |
filelist |
DH |
H |
-L
Select list input format. Normally rdup-tr accepts rdup output, with this option you can give it a list of path names. Note: with list input rdup-tr will `stat()` each file.
-O
Output format. This can be 'tar', 'cpio', 'pax' or 'rdup'. It defaults to 'rdup'.
-X key
Read the encryption key from the file key and encrypt all paths with Blowfish and this key and iv. After the encryption the binary data is converted into ASCII using an URL safe (Section 4 of RFC 3548) version of base64 encode.
The encryption key must be on the first line and the key size must be 16 and 8 bytes for the iv, so 24 in total.
-Y key
Read the decryption key from the file key and decrypt all paths with Blowfish and this key. Before the encryption the paths are converted to binary by using an URL safe version of base64 decode.
-c
Force output to the tty. Normally rdup-tr wants to see it's output redirected.
-v
Be more verbose.
-V
Print rdup-tr's version.
-h
A short help.
The following is possible
rdup -Pgzip -Pmcrypt,-f,KEY,-c /dev/null /home | \ rdup-tr -O tar -X<(echo secret) | gzip > \ my-home-zipped-crypted-pathcrypted-tar.gz
That is: all files under /home are gzipped and encrypted on a per file basis (first line). Further more, all pathnames are Blowfish encrypted (second line) with the key 'secret'. This is put in a tar file, which is then compressed, resulting in the final output (final line).
Creating a compressed and encrypted tar archive out of a full rdup dump might be done as follows
rdup -Pgzip -Pmcrypt,-f,KEY,-c /dev/null /home | \ rdup-tr -O tar > my-home-zipped-and-crypted.tar
Or even pack and unpack it on the fly
rdup -Pgzip -Pmcrypt,-fKEY,-c /dev/null /home | rdup-tr -Otar | \ ssh user@remotehost tar xvCf /tmp -
Or encryption with openssl
rdup -Popenssl,enc,-e,-des-cbc,-k,secret /dev/null /home
Or, compressing with gzip, encrypting with openssl and then compressing the entire archive yet again
rdup -Pgzip -Popenssl,enc,-e,-des-cbc,-k,secret /dev/null /home | \ gzip > my_compressed_encrypted_rdup_archive.gz
Recreating the original rdup output, which can be fed to rdup-up.
gunzip -c my_compressed_encrypted_rdup_archive.gz |\ rdup-tr -Popenssl,enc,-d,-des-cbc,-k,secret -Pgzip,-d >\ my_rdup_archive
rdup-up < my_rdup_archive -t /tmp/restore
Notice the reversal of the -P options.
rdup-tr return a zero exit code on success, otherwise 1 is returned.
Written by Miek Gieben.
Report bugs to <[email protected]>.
http:/www.miek.nl/projects/rdup/ is the main site of rdup. Also see rdup(1), rdup-up(1) and rdup-backups(7).
Copyright (C) 2005-2010 Miek Gieben. This is free software. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Licensed under the GPL version 3. See the file LICENSE in the source distribution of rdup.