Network File Copy using SSH
2012-01-15 14:23
246 查看
原文:http://ultra.ap.krakow.pl/~bar/DOC/ssh_backup.html
Network File Copy using SSH
Please note that &&, ||, and -, are documented at the bottom of this page.
Push: Push local file to remote server.
Pull: Pull remote file from remote server to local machine.
Of course there is always ftp, scp2, nfs, smb and other methods as well.
The above methods make a great Ghost replacement.
One can boot a system using standalone linux on a floppy, such as tomsrtbt and can then proceed to:
backup the local hard drive to a remote server or
download an image from the remote server and place it on the local hard drive.
RSH works just the same as SSH I'm sure, it's jut that ssh or ssh should give you better security.
Note: Compressing and then transferring data is faster than transferring uncompressed data. Use compression before sending data over the wire to achieve faster data transfer
speeds.
localfile and remotefile can be files, directories, images, hard drive partitions, or hard drives.
see http://www.cpqlinux.com/sshkeys.html
&& is shorthand for "if true then do"
|| is shorthand for "if false then do"
These can be used separately or together as needed. The following examples will attempt
to change directory to "/tmp/mydir"; you will get different results based on whether
"/tmp/mydir" exists or not.
cd /tmp/mydir && echo was able to change directory
cd /tmp/mydir || echo was not able to change directory
cd /tmp/mydir && echo was able to change directory || echo was not able to change to directory
cd /tmp/mydir && echo success || echo failure
cd /tmp/mydir && echo success || { echo failure; exit; }
The dash "-" is used to reference either standard input or standard output. The context in which the dash is used is what determines whether it references standard input or standard
output.
Homepage: http://www.cpqlinux.com
Site Map: http://www.cpqlinux.com/sitemap-date.html
Network File Copy using SSH
Updated February 20, 2003
Created April 23, 2001
Please note that &&, ||, and -, are documented at the bottom of this page.
PUSH:
tar cvf - . | gzip -c -1 | ssh user@host cat ">" remotefile.gz
ssh target_address cat <localfile ">" remotefile
ssh target_address cat <localfile - ">" remotefile
cat localfile | ssh target_address cat ">" remotefile
cat localfile | ssh target_address cat - ">" remotefile
dd if=localfile | ssh target_address dd of=remotefile
ssh target_address cat <localfile "|" dd of=remotefile
ssh target_address cat - <localfile "|" dd of=remotefile
( cd SOURCEDIR && tar cf - . ) | ssh target_address "(cd DESTDIR && tar xvpf - )"
( cd SOURCEDIR && tar cvf - . ) | ssh target_address "(cd DESTDIR && cat - > remotefile.tar )"
( cd SOURCEDIR && tar czvf - . ) | ssh target_address "(cd DESTDIR && cat - > remotefile.tgz )"
( cd SOURCEDIR && tar cvf - . | gzip -1 -) | ssh target_address "(cd DESTDIR && cat - > remotefile.tgz )"
ssh target_address "( nc -l -p 9210 > remotefile & )" && cat source-file | gzip -1 - | nc target_address 9210
cat localfile | gzip -1 - | ssh target_address cat ">" remotefile.gz
PULL:
ssh target_address cat remotefile > localfile
ssh target_address dd if=remotefile | dd of=localfile
ssh target_address cat "<" remotefile >localfile
ssh target_address cat "<" remotefile.gz | gunzip >localfile
COMPARE:
###This one uses CPU cycles on the remote server to compare the files:
ssh target_address cat remotefile | diff - localfile
cat localfile | ssh target_address diff - remotefile
###This one uses CPU cycles on the local server to compare the files:
ssh target_address cat <localfile "|" diff - remotefile
Push: Push local file to remote server.
Pull: Pull remote file from remote server to local machine.
Of course there is always ftp, scp2, nfs, smb and other methods as well.
The above methods make a great Ghost replacement.
One can boot a system using standalone linux on a floppy, such as tomsrtbt and can then proceed to:
backup the local hard drive to a remote server or
download an image from the remote server and place it on the local hard drive.
RSH works just the same as SSH I'm sure, it's jut that ssh or ssh should give you better security.
Note: Compressing and then transferring data is faster than transferring uncompressed data. Use compression before sending data over the wire to achieve faster data transfer
speeds.
localfile and remotefile can be files, directories, images, hard drive partitions, or hard drives.
Moving files around on local filesystem:
( cd SOURCEDIR && tar cf - . ) | (cd DESTDIR && tar xvpf - )
FTP VIEW:
ftp> get file.gif "| xv -"
ftp> get README "| more"
FTP PUSH:
ftp> put "| tar cvf - ." myfile.tar
ftp> put "| tar cvf - . | gzip " myfile.tar.gz
FTP PULL:
ftp> get myfile.tar "| tar xvf -"
Pipes and Redirects:
zcat Fig.ps.Z | gv -
gunzip -c Fig.ps.gz | gv -
tar xvf mydir.tar
tar xvf - < mydir.tar
cat mydir.tar | tar xvf -
tar cvf mydir.tar .
tar cvf - . > mydir.tar
tar cf - . | (cd ~/newdir; tar xf -)
gunzip -c foo.gz > bar
cat foo.gz | gunzip > bar
zcat foo.gz > bar
gzip -c foo > bar.gz
cat foo | gzip > bar.gz
cat foo | gzip > bar.gz
SSH Keys
see http://www.cpqlinux.com/sshkeys.html
Explanation of &&, ||, and -
&& is shorthand for "if true then do"|| is shorthand for "if false then do"
These can be used separately or together as needed. The following examples will attempt
to change directory to "/tmp/mydir"; you will get different results based on whether
"/tmp/mydir" exists or not.
cd /tmp/mydir && echo was able to change directory
cd /tmp/mydir || echo was not able to change directory
cd /tmp/mydir && echo was able to change directory || echo was not able to change to directory
cd /tmp/mydir && echo success || echo failure
cd /tmp/mydir && echo success || { echo failure; exit; }
The dash "-" is used to reference either standard input or standard output. The context in which the dash is used is what determines whether it references standard input or standard
output.
Homepage: http://www.cpqlinux.com
Site Map: http://www.cpqlinux.com/sitemap-date.html
相关文章推荐
- 3 Steps to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id
- segmented copy file (for network file transfer resume)
- Create, Read, Write, Copy, Move and Delete a Text File using C# and VB.NET
- Using tar and ssh to efficiently copy files preserving permissions
- Using mmap to Copy an Arbitrary-sized Disk File to stdout
- Create, Read, Write, Copy, Move and Delete a Text File using C#
- Copy file to output by using attribute: DeploymentItem
- 3 Steps to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id
- 3 Steps to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id
- Create, Read, Write, Copy, Move and Delete a Text File using C#
- 3 Steps to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id
- How to copy a datafile from ASM to a file system not using RMAN (Doc ID 428893.1)
- copy file using FileReader/Writer.
- 3 Steps to Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id
- Local File Inclusion to Remote Command Execution using SSH
- How to copy a datafile from ASM to a file system not using RMAN
- ssh使用秘钥文件连接提示WARNING: UNPROTECTED PRIVATE KEY FILE!(转载)
- Network File System
- Copy Dll File And Reg
- Adding File Access Permissions using DirectoryServices