Download Files from Your Linode

Updated by Linode Written by Linode

Contribute on GitHub

Report an Issue | View File | Edit File

There are a number of open source tools you can use to download files from your Linode. You have the option to either download specific files and directories or copy complete images of your Linodes’ disks.

Download Specific Files or Directories over SSH

If you just need specific files from your Linode, you can download those over SSH. Downloading files over SSH can be done at a command-line interface, or with a graphical SFTP file browser.

Secure Copy Protocol (SCP)

You can use SCP to retrieve a specific directory or file via the command-line. SCP is installed by default on most macOS and Linux systems, and is available with Cygwin or PuTTY for Windows.

  • The syntax for using SCP to copy a file from your Linode into a directory on another computer is:

    scp your_linode_username@your_linode_ip:/path/to/your/file.txt /path/to/your/local/directory/
    

    The file will be saved inside /path/to/your/local/directory/.

  • To copy a file from your Linode to another computer and give it a specific name (in this case, file.txt.backup):

    scp your_linode_username@your_linode_ip:/path/to/your/file.txt /path/to/your/local/directory/file.txt.backup
    
  • To copy an entire directory:

    scp -r your_linode_username@your_linode_ip:/path/to/your/directory /path/to/your/local/directory
    

    If /path/to/your/local/directory already exists on your computer, then the copied directory will be placed inside /path/to/your/local/directory (i.e. /path/to/your/local/directory/directory).

    If /path/to/your/local/directory does not already exist, then the copied directory will be created with that name.

For example:

  • Download an NGINX configuration file to your user’s /home folder:

    scp your_linode_username@your_linode_ip:/etc/nginx/conf.d/example.com.conf ~/example.com.conf.backup
    
  • Download an Apache configuration file to your /home folder:

    scp your_linode_username@your_linode_ip:/etc/apache2/sites-available/example.com.conf ~/example.com.conf.backup
    
  • Copy the entire document root from a web server:

    scp -r your_linode_username@your_linode_ip:/var/www/html/ ~/html_backup
    

If you intend to repeat this process regularly, consider using rsync to create additional local copies of your data. rsync is capable of performing incremental file copies, which means you do not have to fully transfer each file every time you download your data.

FileZilla

FileZilla is a popular free and open source FTP, FTPS, and SFTP client which has a GUI but can also take CLI arguments. In contrast to to SCP, SFTP can list directory contents, create or delete files, and resume interrupted file transfers.

See our FileZilla guide for more information.

Downloading Data from a Database

Special care is needed when downloading data from a database. Before it can be downloaded, the data in a database needs to first be dumped to a file. This database dump file can then be transferred just as any other normal file type.

Download a Disk over SSH

Downloading your disk will copy a .img file to your computer that encapsulates all of the data that is on your Linode’s disk. This disk image can later be re-uploaded to the Linode service at a later date, which can be useful if you’d like to temporarily remove your Linode and stop service. Follow our Copy a Disk over SSH guide for further instructions.

Download Data from a Block Storage Volume

  1. Attach and mount the block storage volume.

  2. Download files from it by following the same instructions in the Download Specific Files or Directories over SSH section of this guide.

Join our Community

Find answers, ask questions, and help others.

This guide is published under a CC BY-ND 4.0 license.