rulu ruru

post Debordelizator záloh

August 29th, 2008

Filed under: python — starenka @ 20:36
Tags: , , , ,

Kdysi jsem se tu chvástal s jednoduchým backup skriptem databází z Hostmonstru, kterej mi úspěšně plní HDD jedničkama a nulama. A dneska bych to uvedl na pravou míru a ukázal ještě hloupější skript, starající se o to, aby těch záloh nebylo až zbytečně moc. Filozofie je jednoduchá - skriptu se v parametru předá adresář a počet záloh, které se mají zachovat. Skript pak projde adresář a x posleních záloh (adresářů) nechá být a zbytek smaže. Nuže:

#!/usr/bin/env python
import os
import os.path
import sys

# Get all dirs and their last modified date
dirs = {}
for item in os.listdir(sys.argv[1]):
   if os.path.isfile(item) == False:
       dirs[os.stat(sys.argv[1]+‘/’+item).st_atime] = sys.argv[1]+‘/’+item
       
# Sort keys from newest to oldest and trim number of items specified in sys.argv[2]
sorted = dirs.keys()
sorted.sort()
sorted.reverse()
sorted = sorted[int(sys.argv[2]):]

# delete unwanted dirs
if len(sorted)>0:
    for stamp in sorted:
        os.system(‘rm -rf ‘+dirs[stamp])
 

Názorně: cleaner.py /backups/db/hostmonster 3  - ponechá 3 nejaktualnější zálohy v adresáři /backups/db/hostmonster a zbytek promaže.
Zdroj ke stažení tu … a tradá s ním do cronu.

Popularity: 15% [?]

post Jednoduchá záloha databází na Hostmonster.com

May 18th, 2008

Filed under: linux, other — starenka @ 23:34
Tags: , , , ,

Když zputnik nedávno shrnul svoje pocity z několikaměsíčního hostování na Hostmonster.com, v komentářích se jemně naťuklo téma databází - a to je přesně bod, kde já dneska začnu.

To že bych si někdy mohl dělat pravidelný zálohy svých databází mě donedávna ani nenapadlo. Prostě jsem celkem čas od času (čti cca jednou za půl roku) stáhnul dumpy a šoupnul je někam na disk. Čert, Radek Hulán a Google nikdy nespí a tak je Vám asi jasný, že i na mně časem došlo. Stačilo pár výpadků na předchozích hostinzích hosterech a já si uvědomil, že spoléhat na někoho jiného a ještě navíc na náhodu, která mi protentokrát dopomohla jen k pidiztrátám na životech, je trošku hazard.

Povinnej blábol už je tedy za náma, takže se můžeme směle pustit k jádru věci. Jde o opravdu primitivní bash skript, který postahuje dumpy všech nadefinovaných databází pěkně do teplíčka.

#!/bin/bash
# fetches gziped db backups from hostmonster

# db names to fetch
dbs=( db1 db2 db3 )
# backup directory
BACKUP_DIR="/backups/db"
# CP login
LOGIN="your-hm-login"
# CP pass
PASS="your-hm-pass"
# backup uri (should be the very same for anybody)
URI="74.220.215.229:2082/getsqlbackup/"

ddir="$BACKUP_DIR/$(date +%d-%m-%Y)"
mkdir $ddir
cd $ddir

for db in ${dbs[@]}
    do
        wget "http://$LOGIN:$PASS@$URI$db.sql.gz"   
    done

Do skriptu je třeba dopsat jména databází, které se mají stahovat (bez prefixů tzn. domena_databaze = databaze) a přístupové údaje k  účtu na HM. V neposlední řadě je případně třeba upravit cestu k zalohám. Skript posléze uděláme spustitelným chmod +x ~/.scripts/hm_db_bckp. Nakonec už zbývá jen skript spouštět v nějakém rozumném intervalu cronem. Lenochům mně podobným asi doporučím klikací frontend Kcron [viz obr.]…

kcron

Popularity: 40% [?]

ruldrurd
© starenka 2oo7, cute alien monster by noizcut, original theme by Laurentiu Piron - customized by starenka | proudly powered by WordPress