Howto: Use tar command through network over ssh session
Q. How do I use tar command over secure ssh session?
A. 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.
The default first SCSI tape drive under Linux is /dev/st0. You can read more about tape drives naming convention used under Linux here.
# 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 /If you wish to use above command in cron job or scripts then consider SSH keys to get rid of the passwords.
# ssh root@192.168.1.201 "cat /backup/wwwdata.tar.gz" | tar zxvf -
E-mail
Print
Can't find an answer to your question? Contact us
Related Other Helpful FAQs:
Discussion on This FAQ
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: archiving, backups, gnu version, linux remote server backup, linux tape naming convention, pipes, scsi tape drive, secure linux backup, ssh session, tar over ssh, telnet command, unix linux



October 26th, 2006 at 7:02 am
Why use the ssh command twice, or is that a typo?
October 26th, 2006 at 8:06 am
First one is with hostname and second one is with IP address.
April 5th, 2007 at 11:57 am
ssh ssh root@192.168.1.201 “cat /backup/wwwdata.tar.gz” | tar zxvf -
why use the ssh twice here? (I believe this was the original question, too.
April 5th, 2007 at 12:58 pm
Daniel/Mike,
That was a typo. Thanks for heads up!
October 2nd, 2007 at 2:06 pm
what is SQUID
January 3rd, 2008 at 3:26 pm
The use of this and your examples seem rather untypical. Why pipe it through “ssh” if you’re just transfering a tar.gz to the other side. You could just create the tar.gz and scp it.
Also, the use of “cat” in your examples is completely unnecessary.
I came here hoping to find an example like this (i.e. transferring a directory recursively over ssh). So, for the next guy:
tar cvf - /data | ssh otherhost tar xvf -
January 23rd, 2008 at 1:16 am
Hi Vincent,
You may want to do this to get around limitations in older implementations of SSH that do not allow for large file transfers (larger than 2GB). I had recently run into this problem and the only workable solution was to tar over ssh to get around it.
April 15th, 2008 at 10:15 am
Hi Vincent,
you could create a .tgz or whatever locally and then use scp. The problem with large amounts of data is that scp is awfully slow.
Cheers,
valor
August 24th, 2008 at 3:09 pm
rsync -avzH -e’essh’ /wwwdata root@192.168.1.201:/backup/
August 28th, 2008 at 2:14 pm
The whole point of this command is to help you when you have a filesystem full and need to tar files but don’t have enough space to store the tars. You can pipe the tar through ssh so that later you may also delete the files and place the tar into the original filesystem.
November 5th, 2008 (4 weeks ago) at 8:41 am
i dont know how to use to tar on network i was used 192.168.200.178 machine i use this /mydata folder how to transer using tar over network destination system is 192.168.200.200. any one help me.