The *nix mentality is to use many small programs to do each of the necessary steps and to string them all together using pipes. So, rather than trying to find one tool that does everything you need, you should have a look at the various utilities that can do each of the necessary steps. So, time to read up on:
split
, part of the GNU core utils, great little tool for splitting large files into chunks.
tar
is used to make archives, to combine many small files into one big archive. It can also use various compression programs to create a compressed archive. For example, to create a compressed (gzip
ped) archive of all the files in the current directory, you would run:
tar czf archive.tgz *
GnuPG, the Gnu Privacy Guard is a simple to use tool that (among other things) allows you to encrypt/decrypt files.
- What you use to upload will depend on the service in question. Many (like Dropbox) will have their own tools. Others may offer
ftp
or ssh
access. If you have ssh
access, you should have a look at rsync
which enables compression on the fly and incremental copying. Otherwise, check out scp
.
As I said, the details will depend on the service in question but here is an example workflow:
tar czf archive.tgz * ## compress and create single archive
gpg -c archive.tgz ## encrypt
split -dn 5 archive.tgz archive ## splits into archive00 - archive04
scp archive0{0,1,2} [email protected]:/path/to/ ## copy archive00, archive01
## and archive 02 to service 1
scp archive0{3,4} [email protected]:/remote/path ## copy the rest to service 2