Copying files
Jump to navigation
Jump to search
One way to copy files to and from a machine is as follows:
To copy from the machine you are on
tar czf - dir1 dir2 dir3 | ssh tbalius@sgehead.bkslab.org "tar xzf - -C path/for/new/files "
To copy from a remote machine to the machine you are on
ssh tbalius@sgehead.uoft.bkslab.org "cd path/to/dir/you/want ; tar czf - diryouwant1 diryouwant2 " | tar xzf - -C where/it/goes/locally
This has advantages that it does not copy symbolic links. It also compresses the data while copying
Clear?
ssh tbalius@sgehead.uoft.bkslab.org "cd path/to/dir/you/want ; tar czf - diryouwant1 diryouwant2 " | cat - where/it/goes/locally/file.tar.gz
This will compress the data, copy it, and keep the data as a compressed file.
Another (better) way to copy files is by using rsync and screen. I am going to use a scenario, say I am going to copy my home to another server.
On my desktop:
screen -dR my_home
Note that my_home could be anything, it's just the name of the screen. Then to copy my files:
rsync -arv /home/jill/* someServer:/home/jill/
Then to detach from the screen:
Hold ctrl+A, let go and then type d
You should now be detached from the screen.
To see a list of your screens type:
screen -ls
To reattach to my screen:
screen -r my_home