App-MtAws
view release on metacpan or search on metacpan
mt-aws-glacier
==============
Perl Multithreaded multipart sync to Amazon Glacier service.
## Intro
Amazon Glacier is an archive/backup service with very low storage price. However with some caveats in usage and archive retrieval prices.
[Read more about Amazon Glacier][amazon glacier]
*mt-aws-glacier* is a client application for Amazon Glacier, written in Perl programming language, for *nix.
[amazon glacier]:http://aws.amazon.com/glacier/
## Version
* Version 1.120 (See [ChangeLog][mt-aws glacier changelog] or follow [@mtglacier](https://twitter.com/mtglacier) for updates) [](https://travis-ci.org/vsespb/mt-aws-glacie...
[mt-aws glacier changelog]:https://github.com/vsespb/mt-aws-glacier/blob/master/ChangeLog
## Contents
* [Features](#features)
* [Important bugs/missing features](#important-bugsmissing-features)
* [Production readiness](#production-readiness)
* [Installation/System requirements](#installationsystem-requirements)
* [Installation via OS package manager](#installation-via-os-package-manager)
* [Manual installation](#manual-installation)
* [Installation via CPAN](#or-installation-via-cpan)
* [Installation general instructions, troubleshooting, edge cases and misc instructions](#installation-general-instructions-troubleshooting-edge-cases-and-misc-instructions)
* [Warnings ( MUST READ )](#warnings--must-read-)
* [Help/contribute this project](#helpcontribute-this-project)
* [Usage](#usage)
* [Restoring journal](#restoring-journal)
* [Journal concept](#journal-concept)
* [Specification for some commands](#specification-for-some-commands)
* [sync](#sync)
* [restore](#restore)
* [restore-completed](#restore-completed)
* [upload-file](#upload-file)
* [retrieve-inventory](#retrieve-inventory)
* [download-inventory](#download-inventory)
* [list-vaults](#list-vaults)
* [other commands](#other-commands)
* [File selection options](#file-selection-options)
* [Additional command line options](#additional-command-line-options)
* [Configuring Character Encodings](#configuring-character-encodings)
* [Limitations](#limitations)
* [See also](#see-also)
* [Minimum Amazon Glacier permissions](#minimum-amazon-glacier-permissions)
## Features
* Does not use any existing Amazon Glacier library, so can be flexible in implementing advanced features
* Amazon Glacier Multipart upload
* Multi-segment download (using HTTP Range header)
* Multithreaded upload/download
* Multipart+Multithreaded download/upload
* Multithreaded archive retrieval, deletion and download
* TreeHash validation while downloading
* Tracking of all uploaded files with a local journal file (opened for write in append mode only)
* Checking integrity of local files using journal
* Ability to limit number of archives to retrieve
* File selection options for all commands (using flexible rules with wildcard support)
* Full synchronization to Amazon Glacier - new file uploaded, modified files can be replaced, deletions can be propogated
* File name and modification times are stored as Glacier metadata ([metadata format for developers][mt-aws-glacier Amazon Glacier meta-data format specification])
* Ability to re-create journal file from Amazon Glacier metadata
* Full UTF-8 support (and full single-byte encoding support for *BSD systems)
* Multipart/multithreaded upload from STDIN
* User selectable HTTPS support. Currently defaults to plaintext HTTP
* Vault creation and deletion
* STS/IAM security tokens support
[mt-aws-glacier Amazon Glacier meta-data format specification]:https://github.com/vsespb/mt-aws-glacier/blob/master/lib/App/MtAws/MetaData.pm
## Important bugs/missing features
* Only multipart upload implemented, no plain upload
* Mac OS X filesystem treated as case-sensitive
## Production readiness
* After **one year** since first public version released, beta testing was finished and version 1.xxx released. Current project status is **non-beta**, **stable**.
## Installation/System requirements
Script is made for Unix OS. Tested under Linux. Should work under other POSIX OSes (*BSD, Solaris). Lightly tested under Mac OS X.
Will NOT work under Windows/Cygwin. Minimum Perl version required is 5.8.8 (pretty old, AFAIK there are no supported distributions with older Perls)
### Installation via OS package manager
NOTE: If you've used manual installation before, please remove previously installed `mtglacier` executable from your path.
NOTE: If you've used CPAN installation before, please remove previously installed module, ([cpanm] is capable to do that)
##### Ubuntu 12.04+
Can be installed/updated via PPA [vsespb/mt-aws-glacier](https://launchpad.net/~vsespb/+archive/mt-aws-glacier):
1. `sudo apt-get update`
2. `sudo apt-get install software-properties-common python-software-properties`
3. `sudo add-apt-repository ppa:vsespb/mt-aws-glacier`
(GPG key id/fingerprint would be **D2BFA5E4** and **D7F1BC2238569FC447A8D8249E86E8B2D2BFA5E4**)
4. `sudo apt-get update`
5. `sudo apt-get install libapp-mtaws-perl`
##### Debian 6 (Squeeze)
Can be installed/updated via custom repository
1. `wget -O - http://mt-aws.com/vsespb.gpg.key | sudo apt-key add -`
(this will add GPG key 2C00 B003 A56C 5F2A 75C4 4BF8 2A6E 0307 **D0FF 5699**)
2. Add repository
echo "deb http://dl.mt-aws.com/debian/current squeeze main"|sudo tee /etc/apt/sources.list.d/mt-aws.list
3. `sudo apt-get update`
4. `sudo apt-get install libapp-mtaws-perl`
(To use HTTPS you also need:)
5. `sudo apt-get install build-essential libssl-dev`
( run in 1.006 second using v1.01-cache-2.11-cpan-39bf76dae61 )