Copying files

From DISI
Revision as of 19:16, 14 September 2016 by TBalius (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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