– we create awesome web applications

New version - 0.3.1 - of astrails-safe released.

New stuff:

  • Internally switched from jeweler to bundler. Should not matter for users, but be sure to report any strange behaviour.
  • Plain FTP support, before that we only supported SFTP - contributed by seroy
  • mongodump support - contributed by Matt Berther

Thanks guys for your contributions.

We’re planning to spend some long overdue work on refactoring and adding new features. Just a couple of upcoming features:

  • Remote only S3 support. Back then when we added support for S3 it was not possible to upload straight to S3, so when you backup to S3 we store local file and then upload it. Amazon guys added this feature some time ago and we plan to support it.
  • Adding generic notifier support. We plan to start notifying by email and HipChat at the beginning, but adding new notification channels should be fairly easy.

There is a new (0.2.7) version of Astrails-Safe.

New features since 0.2.5:

  • default options for gpg now include --no-use-agent
  • support for command option for gpg
  • quote values in mysql password file
  • add lib to $:
  • [EXPERIMENTAL] Rackspace Cloud Files support

H. Wade Minter contributed support for Rackspace cloud files. I have no way of testing this, so please tell me if it works :)

To easy the development process, I added the ‘lib’ directory of the ‘currently running’ safe to the library load path”$:”. This enables to work on a new version of safe even though you have some version already installed. The files in ./lib will come first in the load path.


I just stumbled upon a problem with the gpg encryption on a freshly installed Ubuntu EC2 instance. The gpg was asking for a password on the console even though it was passed the --passphrase-file option with the file containing the password.

After some investigation I found out that gnupg’s default template configuration file now contains ‘use-agent’ options.

The result of it is that on the first invocation of astrails-safe it will work, but gpg will create a new ~/gnupg/gpg.conf file with ‘use-agent’ setting, so the next time you run astrails-safe it will fail and ask for the password on the console!

if you are running gpg 1.x series, just pass --no-use-agent to the “options” setting in the astrails-safe config in the ‘gpg’ section (since this 0.2.7 version this options is set in the default astrails-safe template config).

For gpg2 series, I suppose you’ll need to run the gpg-agent (actually I’m not sure, I didn’t research it too deeply, so I’ll be happy to get feedback on the issue)

I also added ‘command’ option support for gpg which allows to override the executable astrails-safe is using for the enctyption. For example you can have command "/usr/loca/bin/gpg" in the gpg section.

Just released a new 0.2.5 version of astrails-safe.

astrails-safe is our very simple to use backup script for mysql, postgres, filesystem, and subversion. It can store your backups locally, on Amazon s3 or on a remote SFTP server. Optional GnuPG enctyption completes the picture.

Changes in this version

Thanks to Fedor Kocherga for spotting that astrails-safe would happily overwrite existing config settings if you used same configuration keyword more then once.

For example if you used 2 exclude lines in your backup config the 2nd one would overwrite the 1st.

Fedor’s fix was merged and now astrails-safe will either merge the configs for files, exclude, and skip_tables keywords and will stop with an error for the rest of the keywords.

New version is available in source form on GitHub and as a ready to install gem on Gemcutter.

Since Github stopped to build gems we are moving to the gemcutter.

Changes in 0.2.4 since 0.2.2

  • fixed couple of README errors (thanks Bobby Wilson)
  • changed name from safe to astrails-safe due to the move to gemcutter
  • added missing net-sftp dependency to the gemspec.
  • fixed bug where it would crash in a dry-run since local storage didn’t update some internal variables.

To install the latest version:

gem install astrails-safe --source http://gemcutter.org

Damn, I just found this unpublished article in the blog admin…

How come it evaded my attention for 3 months??!!

Anyway, releasing it now thought this is all quite old news, going to announce 0.2.4 in a moment :)

There is a new 0.2.2 version of astrails-safe on github.

If you don’t know it yet astrails-safe is an easy to use backup solution for Unix like operating systems.

It supports filesystem, mysql, postgresql, subversion backups to local filesytem, Amazon S3 and remote SFTP.

The biggest change is support for SFTP as a storage option (contributed by Adam).

It can be used instead of or in addition to S3. Note that is is still somewhat experimental and was not tested much in production. Please report any problems in the issues tracker

‘local’ storage option is still mandatory since S3 requires knowing the file size before the upload and keeping all in memory is not a good option :).

Does anyone really need an option of using SFTP w/o the local storage? If so please comment and I will look into possibility of implementing it.

Another change is that astrails-safe will now print timing statistics when running in a verbose mode (-v) (contributed by Neer)

Also another bug with rotation code was fixed (contributed by Layton). Rotation code would mistakenly match any file starting with the name of the current backup. e.g. cleanup for ‘foo’ would cleanup ‘foobar’ as well. I also added a test that should have caught this bug :)

I just pushed new version 0.1.9 of astrails-safe to github.

The main difference is a fix to an embarrassing bug in the S3 backup rotation code.

Thanks to Thuvarakan Tharmalingam for reporting.

Again, the reason it escaped was the fact that we don’t yet have full test coverage.

We are getting there though….


It looks like our astrails-safe gem is quite popular :). People started to contribute new features:


Everyone needs a backup, right? Unfortunately almost no one does though. Why?!

We needed something for ourselves and our customers. Something simple, free, configure-and-forget. Most of the time there is no need for something fancy, a simple tar + mysqldump can do the job for many small/medium sites.