John Goerzen: rdiff-backup, ZFS, and rsync scripts
rdiff-backup vs. ZFS
As I ve been writing about backups, I ve gone ahead and run some tests with rdiff-backup. I have been using rdiff-backup personally for many years now probably since 2002, when I packaged it up for Debian. It s a nice, stable system, but I always like to look at other options for things every so often.
rdiff-backup stores an uncompressed current mirror of the filesystem, similar to rsync. History is achieved by the use of compressed backwards binary deltas generated by rdiff (using the rsync algorithm). So, you can restore the current copy very easily a simple cp will do if you don t need to preserve permissions. rdiff-backup restores previous copies by applying all necessary binary deltas to generate the previous version.
Things I like about rdiff-backup:
- Bandwidth-efficient
- Reasonably space-efficient, especially where history is concerned
- Easily scriptable and nice CLI
- Unlike tools such as duplicity, there is no need to periodically run full backups old backups can be deleted without impacting the ability to restore more current backups
- Speed. It can be really slow. Deleting 3 months worth of old history takes hours. It has to unlink vast numbers of files and that s pretty much it, but it does it really slowly. Restores, backups, etc. are all slow as well. Even just getting a list of your increment sizes so you d know how much space would be saved can take a very long time.
- The current backup copy is stored without any kind of compression, which is not at all space-efficient
- It creates vast numbers of little files that take forever to delete or summarize
- Some testing suggests that the time to delete a few months of old snapshots will be a minute or two with ZFS compared to hours with rdiff-backup.
- ZFS has shown itself to be more space-efficient than rdiff-backup, even without dedup enabled.
- There are clear performance and convenience wins with ZFS. Backup Scripts So now comes the question of backup scripts. rsync is obviously a pretty nice choice here and if used with inplace perhaps even will play friendly with ZFS snapshots even if dedup is off. But let s say I m backing up a few machines at home, or perhaps dozens at work. There is a need to automate all of this. Specifically, there s a need to:
- Provide scheduling, making sure that we don t hammer the server with 30 clients all at once
- Provide for run before jobs to do things like snapshot databases
- Be silent on success and scream loudly via emails to administrators on any kind of error and keep backing up other systems when there is an error
- Create snapshots and provide an automated way to remove old snapshots (or mount them for reading, as ZFS-fuse doesn t support the .zfs snapshot directory yet)
The
For a course at the IIT Bombay on functional programing, I was preparing a presentation on Alonzo Church s theorem, based on his original 1936 paper
I lived in Israel between 1994 and 1996 This was just after the signature of the Oslo agreements, the Rabin-Arafat signature. 1994-95 was a beautiful time to be in Israel; there was the excitement of a prospect of real peace with the Palestinians, something that had been just seen as unattainable for the past 50 years.
But we also saw the buildup of a huge tension, of real hatred. And the dream of the end of the conflict, of two people living in peace side by side was heavily shattered on November 4 1995, when prime minister Rabin was assassinated. But for the sake of where I'm trying to get to (this post is meant to be about current Mexico, not of Israel 15 years ago), lets go a couple of months back.
The Israeli society is a deeply democratic one (although I understand many people feel it is losing that trait). Lots of political propaganda of all sorts, many of it very creative, are posted on the streets And not by the government or by political parties, but by citizen movements. I tried to follow it... I remember a particular sticker that I started seeing very often: Rabin has no mandate over the Golan . At first, I understod that the Golan residents rejected Rabin's authority (but, why was it posted all over the country? And what specifically was it about?), until a friend explained to me that it meant that it rather meant that the right wing all over the country felt that Rabin had no right to push for negotiations involving in any way the Golan heights return to Syria because that was not his electoral platform.
So, fast-forward in time, and 12500Km to the west.
If you have followed my ramblings for the past ~five years, you are aware of what I think about Mexico's government It is an illegitimate government, which got the power thanks to a dirty and illegal (as per Mexico's legal system) campaign and to voting fraud. And, according to what I have read, around 30% of the population still believe firmly the elections were stolen.
But even if they were legal, valid and legitimate What has happened since 2006 should not be seen as valid.
In Mexico, we don't have such a democratic culture. The society is not used to demanding anything from the politicians. We often see, as an example, that when talking about political organs, there is a divide everybody understands although makes no sense: We talk about citizens as people unaffiliated to political parties (v.gr. the 1996 Federal Electoral Institute was very well regarded as it was "el IFE ciudadano", and has since then been overtaken by the parties). Why are the parties' members not seen as citizens? Well, maybe because of the same distortion field that makes us believe our de-facto president when he stated that, from the (then) over 28000 people killed in the
When AMD launched its now widely used 64-bit architecture in year 2000, it started marketing it as a significant step forward because of it having longer word and pointer size. One just has to check the advertising material and notice those big 64 being touted as the main improvement.
But it is commonly accepted that most applications don t need a 64-bit address space for anything. Building them in LP64 model is just a waste of memory due to increase of pointer size. Even though this made most applications lag behind, the new architecture still was an improvement in terms of speed because of the AMD revised ISA, featuring changes like:
Up to now,
It's summer in Spain, and outside there's a dry heat, but in the hack lab,
it's frigid. I'm sitting across the table from Otavio, and each of our
laptops is showing the same identical screen of text, editing the same
file. Slowly. The file is located in Colorado, and we're fighting serious
conference lag, plus transatlantic lag. Type a few lines, wait a minute,
hope it shows up, and restart the converter to see if it worked.
We're struggling with figuring out how to make it work, and pair
programming across the table like this helps -- although we also struggle
with each others accents sometimes, so we're eventually mostly communicating
via text on the computers.
Eventually Otavio rolls off to bed. Later, everyone else in the conference
goes to bed or whatever -- I don't really notice. At some point a cleaning
woman comes in, and seems suprised to see me. I muster up enough Spanish to
ask if this muy fio air conditioning can be turned off. A bit later, I make
this commit and then go out, look at storks in early morning light, and go to
bed.
Debian will be exhibiting at next month's
Last year I shared my
Every time I review some package for sponsoring, I usually end up suggesting to fix some of more picky things which
new year, new RC bugs most of the fixes below are for newly reported
bugs in versions that don't affect squeeze. the rest are mainly uploads of
packages or patches prepared by others.
This shows the market did indeed bounce off the oversold lows nicely
on a few occassions in 2009 and 2010 --- but also continued to slide after
hitting the condition. Nothing is foolproof, and certainly nothing as simple
as this is, so buyer beware. But it may prove useful in conjunction
with other tools.
The code for the script is