Howto: Use tar command through network over ssh session
The GNU version of the tar archiving utility (and other old version of tar) can be use through network over ssh session. Do not use telnet command, it is insecure. You can use Unix/Linux pipes to create actives. Following command backups /wwwdata directory to dumpserver.nixcraft.in (IP 192.168.1.201) host over ssh session.
# tar zcvf - /wwwdata | ssh root@dumpserver.nixcraft.in "cat > /backup/wwwdata.tar.gz"
or
# tar zcvf - /wwwdata | ssh root@192.168.1.201 "cat /backup/wwwdata.tar.gz"
Output:
tar: Removing leading `/' from member names /wwwdata/ /wwwdata/n/nixcraft.in/ /wwwdata/c/cyberciti.biz/ .... .. ... Password:
You can also use dd command for clarity purpose:
# tar cvzf - /wwwdata | ssh ssh root@192.168.1.201 "dd of=/backup/wwwdata.tar.gz"
It is also possible to dump backup to remote tape device:
# tar cvzf - /wwwdata | ssh ssh root@192.168.1.201 "cat > /dev/nst0"
OR you can use mt to rewind tape and then dump it using cat command:
# tar cvzf - /wwwdata | ssh ssh root@192.168.1.201 $(mt -f /dev/nst0 rewind; cat > /dev/nst0)$
You can restore tar backup over ssh session:
# cd / # ssh root@192.168.1.201 "cat /backup/wwwdata.tar.gz" | tar zxvf -
If you wish to use above command in cron job or scripts then consider SSH keys to get rid of the passwords.
example :
First create a backup directory @newserver:
mkdir /backup
Now login to old server:
tar zcvf - /home | ssh user@new-server.com "cat > /backup/data.tar.gz"
Go to /backup @ newserver and untar backup to /home
tar -zcvf data.tar.gz -C /home
from
http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/
- temporary's blog
- Login to post comments