You are currently viewing How to copy files across Linux servers

How to copy files across Linux servers

Copying files across servers is a common task in Linux systems administration. This article highlights the various methods and techniques deployed to transfer or copy files from one server to another securely and fast. The choice of the method to use depends on specific requirements and the server environment. Check out the factors to consider in this guide: Factors Considered When Selecting The Right File Transfer Method

copy files across Linux servers

5 Methods on how to copy files within servers

1. Securely Moving Files Across Servers using SCP

Secure Copy (SCP) is a network protocol that provides a secure and encrypted method for transferring files between remote servers. During file transfers, it makes use of SSH’s authentication and encryption features to guarantee the confidentiality and integrity of the data.

Advantages of using SCP

  1. Security: The data being transferred is protected from tampering and eavesdropping thanks to SCP’s encryption. Additionally, it provides mechanisms for authentication to guarantee that only authorized users have access to the files.
  2. Simplicity: The command-line interface of SCP makes it simple to transfer files quickly and easily.
  3. Independence from a Platform: SCP is platform-independent, which means that it can transfer files between Windows, Linux, and macOS operating systems.

Usage of SCP

scp somefile user@remoteserver:/path/destination

when sending a single file from a local host to a remote server. Replace the variables as needed. The local host can be a laptop or another server.
somefile >> The file you wish to transfer
user >> Server user
remoteserver >> Receiving ServerIp

scp user@remoteserver:/path/to/file.txt /local/destination   #This method is commonly known as reverse SCP. The command is run on the receiving server, to pull the file from the source. 
scp -r somedirectory user@remoteserver:/path/destination   #This command is used when transferring a folder and its content. 

To verify that the transfer of files or folders is complete, SCP returns feedback on the transfer speed, size and any errors that might have occurred during the process. While the integrity of the files transferred is a guarantee, ensure to compare the checksums on both the source and destination servers.

2. Simplify File Synchronization with rsync

rsync is a popular command-line tool for transferring and synchronizing files. By only transferring the differences between the source and destination, it is intended to efficiently update files and directories, thereby reducing synchronization time and bandwidth requirements. For effective synchronization, rsync employs a combination of intelligent differencing and remote update algorithms.

Advantages of rsync

Proficient synchronization: By only transferring the differences between the source and destination, rsync speeds up file transfers, particularly for large files or directories.
Data transmission advancement: By efficiently handling incremental updates and compressing data during transfer, rsync’s built-in mechanisms reduce network bandwidth usage.
Robustness: rsync performs checksum-based confirmation to guarantee information honesty, permitting you to synchronize records without stressing over information debasement certainly.
Options for flexible synchronization: You can control which files are transferred, manage symbolic links, preserve permissions, and more with the various options and parameters that rsync provides for customizing the behavior of synchronization.

Rsync Usage

rsync -avz /path/to/the/source user@remoteserver:/path/to/the/destination
#Synchronizing a directory from a local server to a remote server
rsync -avz user@remoteserver:/path/to/the/source /path/to/the/destination
#Synchronizing files from a remote server to the local server. aka: reverse rsync
rsync -avz -e 'ssh -p 2222' /path/to/the/source user@remotehost:/path/to/the/destination
#Synchronizing files over SSH which uses a port, other than the default ssh port 22

To verify if the process is a success, rsync provides a summary of the transferred files and any errors that might be encountered during the process.

3. Understanding Secure FTP (SFTP) and Its Benefits

What is SFTP?

Secure File Transfer Protocol, or SFTP for short, is a safe method for moving files across a network. It combines the simplicity of FTP with the authentication and encryption features of the Secure Shell (SSH) protocol. Secure file transfers are made possible by SFTP’s client-server design.

Key Features of SFTP

Encryption: Secure File Transfer Protocol (SFTP) encrypts both the data being transferred and the authentication credentials, preventing unauthorized access to sensitive information.
Authentication: To validate the identities of both the client and the server, SFTP makes use of robust authentication methods like public-key cryptography.
Integrity Verification: The integrity of the transferred files can be checked by SFTP’s built-in mechanisms to ensure that they have not been altered during the transfer.
Portability: SFTP is platform-independent and compatible with Windows, Linux, and macOS operating systems.
Safe for the firewall: Because SFTP communicates over a single port, typically port 22, it is simpler to work with firewalls and network security policies.

How does SFTP work?

A secure connection is established between a client and a server for SFTP to function. In most cases, usernames and passwords or SSH keys are used to authenticate this connection. File transfers between the client and server may be done securely once the connection has been made.

How to use SFTP to copy files across Linux servers

To use SFTP as a method of data transfer, you will need: SFTP Client Software, and Access Credentials which includes server hostname or IP, server access username, server access password, and server access port. With the requirements in place:

  1. Launch the SFTP client software.
  2. Key in the access credentials and click on Connect or log in to start the session.

On successful login, you see a slip screen; one with the server file structure and the other with your local file structure. To move data, select and drag the files, and drop them to some folder location on your server. Watch the progress.

4. File Transfer Protocol (FTP)

What is FTP?

File transfer between a client and a server is accomplished by means of the standard network protocol known as FTP. It utilizes a client-server architecture, in which the client establishes a connection to the server in order to carry out file operations like uploading, downloading, and directory management.

How to use FTP to copy files across Linux servers

  1. Install an FTP software
  2. Collect FTP server credentials
  3. Launch the FTP software, input the login details, and connect.
  4. Navigate through the server and perform the required file transfer process. Once done, disconnect from the server.

This method is the same as the previously discussed: SFTP. The main difference is in the security measures employed by either of the methods: For data transmission, FTP does not include encryption. Because files and login credentials are sent in plain text, they can be intercepted and accessed without authorization. SFTP integrates the SSH (Secure Shell) convention, which encodes information during transmission. Eavesdropping and unauthorized access to files and sensitive information are prevented as a result of this.

5. Cat with SSH

what is Cat with SSH?

This is a method used to transfer the content of a file from a local server to a remote server. The use case: when the remote sever does not have the common tools for file transfer, such as SCP, Rsync or even wget or curl. To transfer a file using this method, run the command:

How to use cat with ssh to copy files across Linux servers

cat filename | ssh username@remoteserverip "cat > /path/to/file"

Assuming the file was to be moved to /home/; then /path/to/file is replaced by /home/filename.txt where filename.txt is the name of the file to receive the data.

The above are the top 5 methods that are used to transfer data from one server to another. Others include; cURL, Wget, Remote Copy (RCP), and Using Git for File Transfer. As discussed in an article; there are various factors to consider before selecting the method of transfer. Factors Considered When Selecting The Right File Transfer Method

In case of any challenges, drop a comment in the comment section, and we will assist.

Web Hosting and email hosting Packages

For web development services, SEO services, Digital marketing strategies, website set up services, web hosting and domain registration; contact Dynamic Technologies.

Related content