amazon s3のストレージは、一定時間経過後glacierに送るように設定できます。glacierは安いので、これを使っていろんなデータのバックアップが出来るようになります。
コマンドラインから、Windows PCのデータをs3へ同期するのには、dgsync.exeが便利です。
Amazon S3のクライアント「DragonDisk」に付属の「dgsync」が便利な件@エンジニアブログ
sync的なことを実現するために、当初、本家アマゾンのawsをインストールして、”aws s3 …”を試していました。Linuxではそれなりに動くのですが、Windows7のcmd.exeからやると、うまく動かせませんでした。何故かうまく動かないオプション類、フィルタも挙動が変。何日かハマりましたが、dgsync.exeは安定して動かせています。
Windows7のC:\\Users\myname以下を、全部バックアップしてます。ただし、C:\\Users\myname\AppDataを除外するようにしています。
dgsync.exe -z --endpoint 's3-ap-northeast-1.amazonaws.com' ^
--exclude-cs-filepath "C:/Users/myname/AppData/*" ^
'C:/Users' 's3://mybucket'
みたいなかんじ。
dgsyncはバイナリをダウンロードできるので、RubyとかPythonみたいな実装より楽ちんです。さらに、Linux版もMacOS版もあります。
今までバックアップは、レンタルサーバーをftp経由でマウントしたり、
NetDriveでレンタルサーバを格安オンラインストレージにする@馬坂コム
レンタルサーバーをSSHでマウントしてみたり、
WindowsでSSHFS@馬坂コム
外付けHDDにpdumpfsしたり
windows(ntfs)でpdumpfsすると次第に遅くなって最後にフォーマットするしかなくなる@馬坂コム
してましたが、やっと決定打的なソリューションが実現されました。glacierが使えるので、とても安いです。
以下にオプションを貼り付けておきます。動いている様子を見たければ、–verboseです。動作中、PCが重たいと感じたら、–thread 2 みたいにして制限します。
dgsync [options] source destination OPTIONS : -v --verbose Verbose -V --version Display the version number -h --help Display a help screen and quit -D --debug Debug mode -t --threads Number of concurrent connections (default: 4) -A --access-key ACCESS_KEY Access Key ID -S --secret-key SECRET_KEY Secret Key --ssl Enable SSL/HTTPS --endpoint Define the endpoint of the service --port Specify the port number of the service -h --hidden-files Include hidden files. -s --system-files Include system files. -l --symbolic-links Do not ignore symbolic links. --keep-new If a file exists in the source and target folders, do not replace the target file if it is newer than the source file. --dont-delete If a file exists in the target folder but not the source, do not delete the target file. --dont-add If a file exists in the source folder but not the target, do not copy the source file. --dont-replace If a file exists in the source and target folders, do not replace the target file. Filters --include-cs-filename GLOB Include files with names matching GLOB. Matching is case-sensitive. --include-ci-filename GLOB Include files with names matching GLOB. Matching is case-insensitive. --exclude-cs-filename GLOB Exclude files with names matching GLOB. Matching is case-sensitive. --exclude-ci-filename GLOB Exclude files with names matching GLOB. Matching is case-insensitive. --include-cs-filepath GLOB Include files with paths matching GLOB. Matching is case-sensitive. --include-ci-filepath GLOB Include files with paths matching GLOB. Matching is case-insensitive. --exclude-cs-filepath GLOB Exclude files with paths matching GLOB. Matching is case-sensitive. --exclude-ci-filepath GLOB Exclude files with paths matching GLOB. Matching is case-insensitive. A file is synchronized only if it matches at least one file inclusion filter and does not match any file exclusion filter. If no inclusion filters are specified, all files are included. Note that DragonDisk always uses slash (/) as separator, not backslash (\). Storage : --rrs Use Reduced Redundancy Storage (Amazon S3 Only) Compression : -z --compress Enable compression Client side encryption : -e --encrypt CIPHER Enable client side encryption. Supported OpenSSL ciphers : aes-256-cbc 256 bit AES in CBC mode aes-192-cbc 192 bit AES in CBC mode aes-128-cbc 128 bit AES in CBC mode aes-256-cfb 256 bit AES in 128 bit CFB mode aes-192-cfb 192 bit AES in 128 bit CFB mode aes-128-cfb 128 bit AES in 128 bit CFB mode aes-256-cfb1 256 bit AES in 1 bit CFB mode aes-192-cfb1 192 bit AES in 1 bit CFB mode aes-128-cfb1 128 bit AES in 1 bit CFB mode aes-256-cfb8 256 bit AES in 8 bit CFB mode aes-192-cfb8 192 bit AES in 8 bit CFB mode aes-128-cfb8 128 bit AES in 8 bit CFB mode aes-256-ofb 256 bit AES in OFB mode aes-192-ofb 192 bit AES in OFB mode aes-128-ofb 28 bit AES in OFB mode bf-cbc Blowfish in CBC mode bf-cfb Blowfish in CFB mode bf-ofb Blowfish in OFB mode des-ede3-cbc Three key triple DES EDE in CBC mode des-ede3-cfb Three key triple DES EDE in CFB mode des-ede3-ofb Three key triple DES EDE in OFB mode --nosalt Don't use a salt in the key derivation routines. --encryption-password PWD Use PWD to encrypt files. --decryption-password PWD Use PWD to decrypt files. You may set this option several times. Server side encryption : --server-side-encryption Enable Server Side Encryption (Amazon S3 Only) Example backup script: REM SET http_proxy=http://username:password@host:port/ SET DGTOOLS_ACCESS_KEY=myAccessKey SET DGTOOLS_SECRET_KEY=mySecretKey SET DGTOOLS_ENCRYPTION_PASSWORD=myPassword SET DGTOOLS_DECRYPTION_PASSWORD_0=myPassword SET DGTOOLS_DECRYPTION_PASSWORD_1=myOldPassword REM Local to Google cloud storage REM dgsync.exe -z -e aes-256-cbc "C:/my folder/" "gs://mybucket/my folder/" REM Google Cloud storage to local REM dgsync.exe "gs://mybucket/my folder/" "C:/my folder/" REM Local to Connectria REM dgsync.exe -z -e aes-256-cbc --endpoint rs2.connectria.com "C:/my folder/" "s3://mybucket/my folder/" REM Connectria to local REM dgsync.exe --endpoint rs2.connectria.com "s3://mybucket/my folder/" "C:/my folder/" REM Local to Amazon S3 dgsync.exe -z -e aes-256-cbc "C:/my folder/" "s3://mybucket/my folder/" REM Amazon S3 to local REM dgsync.exe "s3://mybucket/my folder/" "C:/my folder/"
コメント
[…] « dgsync+s3+glacierのバックアップ […]