This tutorial will show you how to use rclone to back up your data to Amazon S3. Please note that you will need a valid Amazon / AWS account for this to work. In addition, AWS will charge you based on the amount of storage you use.
rclone is a command line program to sync files and directories to and from cloud storage.
Download the relevant binary.
Extract the rclone binary from the archive.
Run rclone config to set up.
Install rclone on Linux/macOS/BSD systems:
curl https://rclone.org/install.sh | sudo bash |
After installing Rclone:
Type rclone config
Type n for a New remote
Give a name to your remote (AWS in this example)
Select the type of storage to configure
5. Choose the S3 provider
6. Select the type of authentication method.
PLEASE NOTE: Enter your secret AWSAccesskeyId and AWSSecretKey in case you selected false.
7. Select the region to connect( Canada-Central Region in this example).
8. Select the Type of Access Control and encryption method you want to use.
9. Select the Endpoint and Location constraint values.
10. Select the Redundancy type and verify all the remote config values
before closing the rclone.
Run the following command:
$ rclone mkdir <remote name>:<bucket name> |
AWS S3 bucket names must be globally unique. It helps to create a bucket name using a unique name. For example, instead of calling a bucket "mysql_backups", call it "jdoe777_mysql_backups". |
Once the remote is configured and the bucket is created you can use below commands to list the remotes and buckets:
$ rclone listremotes $ rclone lsd <remote name>: |
Run the below command to sync your data to your AWS bucket:
$ sudo rclone sync /path/to/local/data <remote name>:<bucket name> |
For example:
$ sudo rclone sync /var/lib/mysql aws:mysql_backups |
To copy files from source to destination and skipping files that have already been copied:
$ rclone copy /path/to/local/data <remote name>:<bucket name> |