dgsync+s3+glacierのバックアップ

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/"

コメント

  1. […] « dgsync+s3+glacierのバックアップ […]