Loc­al backup vs. tarsnap

A lot of people do not do backups at home. Un­for­tu­nately this in­cludes me. So far I was lucky that noth­ing bad happened (or that I was able to get back all via ma­nip­u­lat­ing on-​disk-​data by hand). For me this is mostly be­cause of the price and com­plex­ity (num­ber of backup me­dia in­volved) for loc­al backups. It also means that I only need a backup for the case of a disk–crash, not be­cause I need to re­cov­er a file be­cause I ac­ci­dently de­leted it (yes, I am very good at not loos­ing data at home… maybe this is also the reas­on why I have so much data).

I have about 1 TB of raw disk space at home (two times raidz1). Not all of this needs a backup (or is used at all), for ex­ample the base sys­tem files, /​usr/​local, the ports dist­files and pack­ages all do not need a backup, but my cam­era fo­tos (cur­rently 8 GB) should be in­cluded in a backup, my home should be in­cluded in a backup, my loc­al sta­ging area for the con­tent of my web­serv­er should be in­cluded in a backup, my mails (cur­rently 800 MB) should be in­cluded in the backup, loc­al patches to FreeBSD should be in­cluded in the backup, …

So let us cal­cu­late with about 200 GB of more (mails, fo­tos, private videos) or less (MP3s from my own CDs) im­port­ant data for a full backup. Most of it will not change of­ten (MP3s, private videos, fo­tos), so once a month should be ok, and some (e.g. my mails) change daily, so an in­cre­ment­al each day and a full once a week would be in­ter­est­ing for me. When I do such a backup, I do not want to shuffle around tapes a lot. Maybe one or two times (s0 2 – 3 tapes) would be ok. So I am talk­ing about 80 – 200 GB per tape. The prices for this range from 700 EUR to 1300 EUR just for the tape drive. I have also seen a tape drive from Io­mega for about 400 EUR (120 GB per tape), but some­how this sounds like a not so trust­worty solu­tion to me (I do not know why, it is just a feel­ing, maybe I am a little bit biased be­cause of the high-​end solu­tion at work, if someone knows more about those Io­mega drives and tapes in a long term or high-​useage en­vir­on­ment, please write a com­ment).

When I take the cur­rent price of tarsnap in­to ac­count, I come to about $60 per month for the stor­age, and again $60 for the ini­tial trans­fer of 200 GB. This as­sumes the 200 GB are not very com­press­able. With each in­cre­ment­al backup (changed files mat­ter, not a diff between the files), I as­sume about 10 GB per month of change (= $3 per month). Yes, this is most prob­ably too much, but I try to cal­cu­late a worst case scen­ario. So this sums up to $60 once and $63 per month. I do not take in­to ac­count my too slow up­stream band­with. When I as­sume a 1500 EUR tape drive plus tapes plus clean­ing cart­ridge, we are talk­ing about some­thing like 2 – 3 years of stor­ing the backup in tarsnap (with the Io­mega drive this would be just one year).

When I as­sume that I over­es­tim­ated everything with a factor of 2, this means 5 – 6 years of us­ing tarsnap vs. buy­ing an ex­pens­ive tape drive. Now the ques­tion is, will the tape drive sur­vive this long, will I be able to use such a drive in new hard­ware  in 6 years, will tarsnap sur­vive this long, and will it stay at the same or bet­ter price level (this is also in­flu­enced by the price of the stor­age pro­vider).

An­oth­er solu­tion would be to go with a mixed set­ting, e.g. an 1 TB hard-​disk (less than 150 EUR  for the hard-​disk (with 7 years war­ranty) and an ex­tern­al case) to do the long term stor­age of high-​volume but long-​term-​stable stuff (fo­tos, videos, mu­sic), and use tarsnap for the low-​volume fast chan­ging stuff (con­fig files, mails). This way the amount of money for the really im­port­ant things is not much, I would ex­pect less than 1 GB com­pressed (= less than an EUR per month). This also sounds like a solu­tion which al­lows me to be lazy (the im­port­ant stuff can be auto­mated, the nice to have stuff can be done from time to time as needed).

I think I should ask Col­lin if he has a way to re­ceive SWIFT (IBAN/​BIC) trans­fers for tarsnap…

Some com­pan­ies do not want to get money…

The reas­on for our prob­lems with the phone @Work (see re­lated posts) is known now. The com­pany pay­ing for the phone lines changed the tax num­ber (fal­lout of a re­quire­ment to make busi­ness with banks here), in­formed the 2 phone com­pan­ies they are us­ing about it, got a bill from one with the old tax num­ber and from the oth­er one with the cor­rect tax num­ber, in­formed the phone com­pany which used the old num­ber again, got again a bill with the wrong tax num­ber, in­formed them again, … un­til the phone com­pany cut the line (pay­ing the bill while there is the wrong tax num­ber on it seems to cause big prob­lems later in the tax/​money hand­ling chain).

So there a sev­er­al kinds of phone com­pan­ies here. Those which want to make busi­ness with cus­tom­ers (e.g. Ve­r­i­zon in LU), and those which do not (e.g. P&T in LU).

Let us wait and see when we get work­ing phone lines and from whom… 🙂

No phone @Work since a week…

Since a week we (7−10 people) can not make or re­ceive phone calls with the phones at work. Luck­ily this is only the remote-​half of the team which works for this cli­ent, the onsite people do not have this prob­lem.

As bad as this is from the client-​relations side of view, I have to say this makes it quiet and re­lax­ing here ATM… We get re­quests via EMail or our ticket-​system (or a cowork­er provides some info on the mo­biles) and we can handle them without much dis­turb­ance.

Be­fore you think bad about the com­pany I work for… we are just a sub­con­tract­or, the phone lines are not handled by us (but I was told that the is­sue is now looked at by the big boss).

The run­ning gag of the week is mak­ing the error-​noise of the phone.

On the way to solve the CUPS prob­lem

I opened a bug re­port for the prob­lem (have a look at the re­lated posts be­low) and got the re­sponse that it is a prob­lem in pstoras­ter. This means it is a prob­lem in ghost­script, not in CUPS.

So I had a look at pstoras­ter and seen that CUPS_​FONTPATH is ad­ded to GS_​LIB. The­or­et­ic­ally it should solve my is­sue when I set CUPS_​FONTPATH, but this as­sumes I can do it without CUPS dis­card­ing my set­tings.

Un­for­tu­nately this as­sump­tion is not true. I tried it and I still see the same be­ha­vi­or as be­fore.

Reas­on for the env passing prob­lem in CUPS

Today I had the time to have a look at the prob­lem I have to pass the value of the GD_​LIB vari­able from CUPS to ghost­script: CUPS is set­ting this vari­able on its own and thus over­rid­ing my set­ting. 🙁

It seems CUPS is not check­ing if I have my own GS_​LIB vari­able and adding its own path to the already set one. That is bad.

My pub­lic­a­tions and pro­jects pages moved in­to the blog

I moved my pages about pub­lic­a­tions and pro­jects in­to the blog. The con­tents of the pub­lic­a­tions are still at the old place (and there­fore in the same style as when I wrote them). I have not de­cided yet if I will im­port the con­tents of the pub­lic­a­tions in­to the blog or not. Im­port­ing the con­tents means everything would have a con­sist­ent style, not im­port­ing it would mean the con­tent is as “ori­gin­al” as pos­sible.

More prob­lems with CUPS (passing env vari­ables)

Sat­urday I had to print a post­script file. The file was gen­er­ated out of a tem­plate which I wrote my­self by hand sev­er­al years ago. There I use a non-​standard PS font which can not be changed. The font is not em­bed­ded, and I can print it via ghost­script by telling it the loc­a­tion where the font files are loc­ated (ex­port GS_LIB=/path/to/dir1/path/to/dir2). Now that I switched to use CUPS as my print­serv­er soft­ware, I had to teach it to set this for the call to gs (via foomat­ic). Un­for­tu­nately I failed to get it work­ing via the CUPS con­fig.

I ad­ded “SetEnv GS_​LIB /path/to/dir1:/path/to/dir2” to cups.conf and re­star­ted CUPS. This did not work. I ad­ded “PassEnv GS_​LIB” to cups.conf, ad­ded an ap­pro­pri­ate ex­port of GS_​LIB to /etc/rc.conf (just to make sure… I still had the SetEnv in cups.conf) and re­star­ted CUPS. This did not work either.

As I just wanted to print out some­thing and did not want to spend my time de­bug­ging this, I put a work­around in­to place: I moved gsc to gsc.bin and cre­ated a little shell script as gsc which sets the vari­able and starts gsc.bin.

At the next up­date of ghost­script this will break my print­ing (if I for­get that I have this work­around in place), so I should try to get some time to fix this. Maybe I can fix this by adding “env GS_​LIB=…” to the call of gs in the ppd, but this seems more like an­oth­er work­around to me, than a real fix.