この短い記事は、「最小の」Linuxユーザーを対象としており、Amazon S3サーバーにバックアップすることがいかに簡単でシンプルかを示すことを目的としています。
S3の作業アカウントを既にお持ちであり(お持ちでない場合は、 ここまたはここで )、コンソールおよびテキストエディターに関する最低限の知識をお持ちであることを理解してください。
私から簡単に言うと、Amazon S3はインターネット上のデータの無制限のストレージです。 サービスは有料ですが、(数百メガバイトのオーダーの)少量の場合、月あたり数ルーブル(最大数十ルーブル)かかります。
また、新しいバックアップを作成し(それぞれ古いバックアップも削除される)、/ home / backupに保存されると考えています。
私たちのタスク:毎晩(日中、夕方)、すべての新しいバックアップが行われた後、それらをS3にコピーし、そこから古いものを削除します-もはや/ home / backupにないもの(非常に古いバックアップ、そうですか?)。
インターネットで簡単に検索した後、私は素晴らしいs3sync Rubyプログラムに出会いました。
まず、Rubyをインストールします。
Fedora:
yum install ruby
Debian:
sudo apt-get install ruby-full
Centos:
yum install -y ruby
(ありがとうmikhailov )
次に、s3syncをダウンロードして解凍します。
wget s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
tar vxzf s3sync.tar.gz
bashスクリプトを作成し、クラウンで実行します。
vim go-s3sync-backup.sh
#/bin/sh
export AWS_ACCESS_KEY_ID=[ AWS_ACCESS_KEY_ID]
export AWS_SECRET_ACCESS_KEY=[ AWS_SECRET_ACCESS_KEY]
/home/user/s3sync/s3sync.rb --delete -r /home/backup/ [ S3]:my-backup
chmod +x go-s3sync-backup.sh
スクリプトの結果は、S3の指定されたバスケット内のmy-backupフォルダーにバックアップが保存されます。
最初の2つのパラメーターは、S3での認証用のデータを指定します-XMLファイルで指定することもできますが、環境変数に入れる方が簡単です。
- --deleteは、ローカルフォルダーにないファイルをS3から削除するために使用されます
- -rは、フォルダーの再帰的な走査を有効にします
いくつかの便利なキーを次に示します。
- --progressを使用すると、操作の進行状況を確認できます
- -nを使用すると、アクション自体を実行せずにスクリプトが実行する予定を確認できます(一種のデバッグモード)
スクリプトをクローンに追加します(たとえば、毎日午前7時に機能するようにします)
0 7 * * * /home/user/go-s3sync-backup.sh
良心をクリアするには、スクリプトをペンでテストし、S3の使用済みバスケット(フォルダー)へのアクセス権をもう一度確認します-そして安心して眠ることができます-データは安全な場所にあります。
読んでくれたすべての人のおかげで、コメントや訂正は大歓迎です!