Tar/gzip examples

Add multiple specific files into a single compressed tarball:

tar czf archive.tar.gz /tmp/something_*.txt /tmp/other.log

Backup of directory on remote server to local server via ssh

ssh root@server "(cd /directory/; tar cvzf - *)" > ./localbackup.tar.gz

Backup of a directory on local system, storing on remote system

tar zcvf - /your/directory | ssh backup-user@backupserver "cat > /backup/file.tgz"

Extract remote archive to local system:

ssh remotehost cat /path/to/foo.tar.gz | tar xzf -

Complete dd disk image

Complete disk image of remote server to local compressed image file via ssh

#from local server
ssh root@server "(dd bs=32M if=/dev/sda status=progress | gzip -9)" | dd of=./backup-full-sda.gz

#from remote server onto local server:
dd bs=32M if=/dev/sda status=progress | gzip -9 | ssh root@20.30.40.50 "dd of=/backup/sda-backup-file.gz"

Restore of local compressed disk image to remote server via ssh

gunzip -c /backup/sda-backup-file.gz | ssh root@original-source-server-ip "dd bs=32M of=/dev/sda"