さくらのレンタルサーバ バックアップ設定(s3cmd)
photo credit: Marco Crupi Visual Artist via photopin cc
先日移転させたので、忘れないうちにバックアップの設定をします
全て Amazon S3 にバックアップします。利用するのはs3cmdです
Amazon S3でやったこと
・Access Keyを新たに作成
https://portal.aws.amazon.com/gp/aws/securityCredentials
・S3バケットも専用に作成
さくらのレンタルサーバにログイン
s3cmdをwgetでダウンロードします
https://github.com/s3tools/s3cmd/archive/master.zip
wget https://github.com/s3tools/s3cmd/archive/master.zip --no-check-certificate
unzip master.zip
ディレクトリ s3cmd-master ができるので
s3cmd --configureで設定します。
Access KeyとSecret Keyは先ほど作ったものを利用
% ./s3cmd-master/s3cmd --configureやることはEncryption passwordを決めることくらいでしょうか?Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.Access key and Secret key are your identifiers for Amazon S3
Access Key:
Secret Key:Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password:
Path to GPG program [/usr/local/bin/gpg]:When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP and can't be used if you're behind a proxy
Use HTTPS protocol [No]: yesNew settings:
Access Key:
Secret Key:
Encryption password:
Path to GPG program: /usr/local/bin/gpg
Use HTTPS protocol: True
HTTP Proxy server name:
HTTP Proxy server port: 0Test access with supplied credentials? [Y/n] y
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)Now verifying that encryption works...
Success. Encryption and decryption worked fine :-)Save settings? [y/N] y
Configuration saved to '/home/username/.s3cfg'
これでs3cmdを使う準備ができました
バックアップ用script
次にバックアップを作成してs3cmdで送信するスクリプト(backup.sh)
・バックアップ用ディレクトリをbackup(mkdir backup && chmod 700 backupするとよい)
・amazon s3 bucketネームは各自置き換えてください(S3BUCKET)
・amazon s3にバックアップを残す期間 7日なら 7dに(DAYS)
やっていることは www ディレクトリをtarで固めてS3に送っているだけです
#!/bin/shmysqlをdumpしてないのは更新してないためです 最後にcrontab -eで登録して完了ですtarfile=`date +%Y%m%d`
USER=`whoami`DAYS=30d
BACKUP='backup'
S3BUCKET='bucketname'tar zcf $BACKUP/$tarfile.tar.gz ./www
chmod 600 $BACKUP/$tarfile.tar.gz
/home/$USER/s3cmd-master/s3cmd put -rr /home/$USER/$BACKUP/$tarfile.tar.gz s3://$S3BUCKET/$tarfile.tar.gzoldtar=`date -j -v "-$DAYS" +%Y%m%d`
rm -f $BACKUP/$oldtar.tar.gz
/home/$USER/s3cmd-master/s3cmd del s3://$S3BUCKET/$oldtar.tar.gz
例)毎日0時にバックアップを走らせる場合
# NAME: backup
0 0 * * * /home/username/backup.sh
バックアップは、移転完了後に設定しておくようにしています
関係がありそうなのは
ファーストサーバーの事故 法律解釈まとめ
http://kuni92.net/2012/07/post-88.html
ファーストサーバはベテランの人災でFAなのかな?
http://kuni92.net/2012/08/fa.html