Backup Files to IPFS with Bash

Learn how to backup files to IPFS using Bash.

What is Bash?

Bash is a Unix command line and shell language that is part of the GNU free and open source software project. It is used as the default login shell for most Linux distributions.

Read below to learn how to backup files to IPFS using Bash.

Prerequisites:

Special thanks to Simon Bennett from SnapShooter for the original version of this tutorial.

1. Start by installing the S3cmd tool with the following commands:

apt-get install python3 python3-setuptools curl -y

curl -LO https://github.com/s3tools/s3cmd/releases/download/v2.2.0/s3cmd-2.2.0.tar.gz

tar -xvzf s3cmd-2.2.0.tar.gz

cd s3cmd-2.2.0

python3 setup.py install

2. Verify S3cmd was installed correctly using the following command to display the installed version:

s3cmd --version

3. Next, configure S3cmd for use with Filebase:

s3cmd --configure

You will be prompted to enter the following configuration details:

  • Access Key: Filebase Access Key

  • Secret Key: Filebase Secret Key

  • Default Region: us-east-1

  • S3 Endpoint: s3.filebase.com

Overall, your configuration output should resemble the following:

4. Test your configuration using the following command:

S3cmd info s3://filebase-bucket-name

Replace filebase-bucket-name with your Filebase bucket name. The output should resemble the following:

5. Next, login to your file server, or navigate to the directory that contains the files you’d like to backup.

Compress the directory that you’d like to backup. This example uses the /etc directory.

tar -czvf - /etc | s3cmd put - s3://filebase-bucket-name/etc_backup.tar.gz

Replace filebase-bucket-name with your Filebase bucket name.

6. Then, repeat the process for any other directories you’d like to backup.

This example uses the /var/log directory.

tar -czvf - /var/log | s3cmd put - s3://file-backup-filebase/log_backup.tar.gz

Replace filebase-bucket-name with your Filebase bucket name.

7. Verify that your files have been uploaded correctly:

s3cmd ls s3://filebase-bucket-name

The output will resemble the following:

2022-08-08 05:31 10485760 s3://filebase-bucket-name/etc_backup.tar.gz

2022-08-08 05:31 21163636 s3://filebase-bucket-name/log_backup.tar.gz

Last updated

Was this helpful?