[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Action disabled: register

Welcome to the Slackware Documentation Project

How to copy files \ directories \ filesystems via network.

The article describes ways of copying content over network.

When upgrading a home server, I copy all the data from the old server to a new system. In the examples below, I work from the new server and both servers are on the same subnet:

  • New server (IP: 192.168.0.14)
  • Old server (IP: 192.168.0.1)

Both the ssh and scp commands communicate over a secure connection (TCP port 22). Please note that you need to enable the sshd daemon on the remote host.

Copy Files / Directories

If you need to copy single files or directories, you can use the scp command:

scp -r -v -p root@192.168.0.1:/etc /local_dir

Flag explanation:

  • -r: recursive (copy all the content of /etc including its subdirectories)
  • -p: preserve file attributes (eg. file creation or modification times)
  • -v: verbose output

In the example above we copy the /etc directory located on a remote host (the old server: 192.168.0.1) to /local_dir on the local host (“new” server).

Please note that the scp command cannot copy the whole file system hierarchy including /proc, /dev or /lost+found. Fortunately, there is a workaround which was provided by Patrick Volkerding.

Copy whole filesystem hierarchy

The following command should successfully copy a whole filesystem hierarchy:

ssh root@192.168.0.1 "(cd / ; tar cf - . )" | (mkdir -p /local_dir ; cd /local_dir ; umask 000 ; tar xvf -)

Sources

  • Originally written by John Ciemgals 2013/02/10 03:51
  • With help from Patrick Volkerding

 howtos:general_admin:files_filesystem_copying_over_network ()