In the last days i lost some (non critical) data cause i had forgot to install rsnapshot in my laptop. I was without network for a couple of hours and there was nothing on TV. So … i’ve played with bash and made a bash script to backup some directories with a snapshot logic.
The bash script is really simple and straight-forward without any difficult parts. So you can easily configure it, to serve your needs.
#!/bin/bash
# Evaggelos Balaskas, <ebalaskas AT ebalaskas DOT gr>, 20090122
DIR="/var/cache/pacman/pkglist"
PATHS="/etc /usr/local/etc /boot"
BACKUP="backup"
PACMAN="/usr/bin/pacman -Qqe"
RSYNC="/usr/bin/rsync -ra"
MKDIR="/bin/mkdir -p"
DATE="/bin/date"
CP="/bin/cp -al "
MV="/bin/mv -f"
RM="/bin/rm -rf"
TOUCH="/bin/touch"
DAYS="10"
# Make Directory Structure
$MKDIR $DIR/`$DATE +%Y/%m/%d`
#Package List
$PACMAN > $DIR/`$DATE +%Y/%m/%d/pkglist_%H_%M`
#Rotation
if [ -d "$DIR/$BACKUP.$DAYS" ] ; then
$RM $DIR/$BACKUP.$DAYS
fi
for i in `seq $(expr $DAYS - 1 ) -1 1` ;do
if [ -d "$DIR/$BACKUP.$i" ]; then
$MV $DIR/$BACKUP.$i $DIR/$BACKUP.$(expr $i + 1)
fi
done
# Create Hard Link
if [ -d "$DIR/$BACKUP.0" ] ; then
$CP $DIR/$BACKUP.0 $DIR/$BACKUP.1
fi
# Sychronization
for k in $PATHS; do
$MKDIR $DIR/$BACKUP.0$k/
$RSYNC --delete $k/ $DIR/$BACKUP.0$k
done
# TimeStamp
$TOUCH $DIR/$BACKUP.0
Το archlinux χρησιμοποιεί τον διαχειριστή προγραμμάτων pacman. To powerpill είναι ένα wrapper πρόγραμμα για τον pacman. Η δουλειά του δλδ είναι να κατεβάζει από διαφορετικές πηγές το πρόγραμμα που θέλουμε να εγκαταστήσουμε κάνοντας χρήση του μέγιστου bandwidth που διαθέτουμε. Το powerpill κάνει χρήση του aria2, ενός προγράμματος που υλοποιεί πολλαπλά πρωτόκολλα και πολλαπλές πηγές με σκοπό να κατεβάσει το αρχείο που επιθυμούμε στον μικρότερο χρόνο.
Η χρήση του powerpill στο pacman μπορεί να γίνει με αυτόν τον τρόπο:
powerpill pacman -Syuw
ή
powerpill pacman -Syu
Ακόμα κι εάν δεν έχετε archlinux, ρίξτε μια ματιά στο aria2. Αποτελεί ένα αξιόλογο πρόγραμμα.
Για όσους δεν το γνωρίζουν (ακόμα), η google μέσω της υπηρεσίας google share (μιας υπηρεσίας από την οποία μπορούν να διαμοιράζονται αρχεία - πάντα online - οι χρήστες της), δίνει πλέον την δυνατότητα να ανεβάσει και να αποθηκεύει κανείς αρχεία με μέγεθος μέχρι 250 MB. Πριν από λίγο καιρό είχε δώσει την δυνατότητα δημιουργίας καταλόγων και πλέον ολοκληρώνει την μετατροπή του google share από docs αρχεία σε μία filesharing υπηρεσία.
Όσοι χρησιμοποιούμε συνδέσμους σε διάφορους περιηγητές διαδικτύου γνωρίζουμε το xmarks (έχω κάνει την ελληνική μετάφραση εν μέρη). Έτσι μπορούμε να έχουμε κάπου κεντρικά την διαχείριση των συνδέσμων μας και τώρα τελευταία και τα συνθηματικά μας.
Η πιο γνωστή μορφή των συνδέσμων είναι φυσικά το html, δεν είναι όμως και το πιο ευέλικτο σχήμα. Το xml έχει τέτοια δόμηση που προσφέρει περισσότερες δυνατότητες. Όμως δεν είναι πρωτοτυποποιημένο. Κι έτσι κάθε περιηγητής διαδικτύου ή πρόγραμμα διαχείρισης συνδέσμων δεν μπορεί να διαβάσει/επεξεργαστεί τους συνδέσμους από κάποιο άλλο πρόγραμμα (ή άλλο περιηγητή).
Το xbel δημιουργήθηκε για να λύσει όλα αυτά τα προβλήματα. Φυσικά το midori υποστηρίζει συνδέσμους σε μορφή xbel, όχι όμως ο firefox που υποστηρίζει μόνο html!
Μιας και το xmarks δεν υποστηρίζει ακόμα xbel (αλλά που θα πάει) την λύση για να μετατρέψει κανείς bookmarks από html σε xbel έχουμε δύο επιλογές:
H λύση του firefox addon: SyncPlaces φαίνεται να είναι αρκετά απλή και γρήγορη, αλλά δεν με κάλυψε 100%. Αρκετές φορές το εξαγόμενο xbel φάνηκε να μην δουλεύει στο Μιντόρι.
Η δεύτερη λύση του linkgagogo είναι εξαιρετική, αλλά δεν δυστυχώς δεν φαίνεται να μου παίζουν σωστά τα ελληνικά.
Σήμερα τούτο το blog έκλεισε τα πρώτα του γενέθλια.
Μέσα σε ένα χρόνο λοιπόν γράφτηκαν:
- 139 entries
- 86 comments
Σήμερα το πρωί εγκατέστησα τη νέα έκδοση του kernel: 2.6.32 στο archlinux. Δυστυχώς για ακόμα μία φορά το τίμημα του να είσαι bleeding edge είναι μεγάλο.
Στην νέα έκδοση (2.6.32) έχει αλλάξει το KMS (kernel mode setting) και ο τρόπος με τον οποίο ρυθμίζεται το intel graphic subsystem (intel kms enabled by default).
Το αποτέλεσμα ήταν να μείνω χωρίς γραφικό περιβάλλον.
Αποφάσισα λοιπόν να εγκαταστήσω τo kernel26-lts (longtime stable),
αλλά διαπίστωσα ότι εξαρτάται από το πακέτο udev-compat το οποίο βρίσκεται στο
testing repository!
Σκέφτηκα: δεν μαμιέται, κι άνοιξα το testing repository.
Ταυτόχρονα με ενημέρωσε να εγκαταστήσω και μερικά ακόμα πακέτα όπως το filesystem/udev κ.λ.π.
Εκείνη την στιγμή σκέφτηκα ότι σιγά το πράγμα, τι κακό μπορεί να γίνει.
Όλα ωραία και καλά, κάνω επανεκκίνηση και ο kernel26-lts ΔΕΝ ξεκινάει !!!
Το πόσο εντυπωσιακό ήταν αυτό δεν λέγεται.
Ξαναμπουτάρω με τον kernel26 (χωρίς γραφικό) και προσπαθώ να αφαιρέσω ότι πακέτο έχω εγκαταστήσει μέσω του testing.
Να μην τα πολυλογώ μένω χωρίς filesystem/udev και φυσικά ότι άλλο εξαρτάται πάνω σε αυτά (δλδ σχεδόν όλα τα πακέτα). Το partiton κάπου εδώ έγινε corrupted με τραγικό αποτέλεσμα.
Την λύση την έδωσε το System Rescue CD .
Μέσω cron τρέχω ανά 3 ώρες ένα rsnapshot και ανά μέρα την εξής εντολή:
/usr/bin/pacman -Qq > /root/pkg_list_`date +%Y%m%d`
Δηλαδή αυτό που έκανα ήταν να ξαναεγκαταστήσω την λίστα των πακέτων που είχα μέχρι σήμερα (πρωινές ώρες) και να αντιγράψω τα configuration files από το latest snapshot.
Κι όμως τα προβλήματα μου ΔΕΝ τελείωσαν εδώ.
Προσπαθώντας τα εκκινήσω το γραφικό περιβάλλον πάγωνε ο υπολογιστής.
Το πιο εντυπωσιακό ήταν ότι έπρεπε να κάνω επανεκκίνηση με το δάχτυλο κι έτσι τα οποιαδήποτε logs να μην αποθηκεύονται στον δίσκο.
Την τελική λύση την έδωσε ο έταιρος συνάδελφος, ο οποίος μου δάνεισε τον υπολογιστή του για να κάνω ssh και να το log του Xorg. Το οποίο log με ενημέρωνε ότι το xf86-input-evdev δεν μπορούσε να φορτωθεί. Κι αντί να τερματίσει ο Xorg server απλά πάγωνε!.
Προσπάθησα να επαν-εγκαταστήσω το xf86-input-evdev αλλά το πρόβλημα ήταν ότι τα ήδη εγκαταστημένα αρχεία ήταν corrupted (πιθανά από τα πολλά hard-resets). Τελικά με την χρήση του rm διέγραψα τα corrupted αρχεία, επαν-εγκατέστησα το evdev (το οποίο είναι υπεύθυνο για να κάνει hotplug τις συσκευές εισόδου στο xorg) κι όλα έπαιξαν μια χαρά.
Τελικός απολογισμός: 3 ώρες !!!
Κατά τα άλλα καλά, τα νέα σας;
Με χαρά διαπίστωσα ότι κάποια από τα blog post μου αναφέρονται στο foracamp και μάλιστα κάτω από την κατηγορία Linux. Δεν γνωρίζω τους ανθρώπους που το συντηρούν μα ούτε κι έχω πρόβλημα με την ύπαρξή του.
Φυσικά, ηθικά θα έπρεπε τουλάχιστον να με έχουν ενημερώσει για αυτό και θα έπρεπε να έχουν ζητήσει την άδεια μου, αλλά το κακό είναι μικρό.
Δυστυχώς όμως με πάρα πολύ μεγάλη θλίψη, διάβασα ότι το blog post μου με τίτλο: WinXP Vs Linux (aka once in 3 years) έχει τον εξής τίτλο:
“Διαβάστε άλλο ένα άρθρο σύγκρισης των δύο λειτουργικών”
.
Δεν γνωρίζω εάν η παρανόηση έχει γίνει ηθελημένα ή κατά λάθος.
Εάν διαβάσει κανείς το άρθρο ΔΕΝ αναφέρω πουθενά κανένα συγκριτικό σημείο μεταξύ των δύο λειτουργικών. Δεν αναφέρω σε κανένα σημείο ότι τα Windows είναι καλύτερα ή ανώτερα από οποιαδήποτε διανομή linux.
Καταγράφω μία προσωπική εμπειρία και το σημείο κλειδί είναι η εξής φράση:
“ότι τα πάντα ξεκινάμε από την χρήση του καθενός στο μηχάνημα & διανομή που έχει επιλέξει. Σε δεύτερη μοίρα έρχεται το ίδιο το λειτουργικό”
Ελπίζω οι συντάκτες του foracamp να διαβάσουν τούτο το άρθρο και να διορθώσουν το προσωπικό τους σχόλιο καθώς μόνο ατυχές είναι και “εξαπατά” τους αναγνώστες του.
ΥΓ: Η μπλε οθόνη και η μη λειτουργία των windows έγινε χωρίς απολύτως κανένα λόγο δείχνει μη-σοβαρού λειτουργικού συστήματος.
Τον Οκτώβριο 2009 είχα γράψει το εξής post: Τι σελίδες αναζητούν οι hackers; κοιτώντας τα logs μου κι ειδικότερα τα http 404 (not found). Στο site μου διαθέτω μόνο δύο εφαρμογές (blog/wiki) και τα δύο δουλεύουν με mod_rewrite ώστε να κάνουν URL manipulation.
Από τον Οκτώβριο του 2009 μέχρι σήμερα μαζεύω τα πιο δημοφιλή αρχεία (urls) που προσπαθούν να δούν ή να κατεβάσουν οι hackers και τις περνάω σε ένα δικό μου .htaccess αρχείο στην ρίζα του site μου.
Το παραθέτω εδώ, σε περίπτωση που ενδιαφέρει κι άλλους:
RewriteEngine on
RewriteRule xmlrpc.php$ index.php
RewriteRule login_page.php$ index.php
RewriteRule setup.php$ index.php
RewriteRule config.inc.php$ index.php
RewriteRule multithumb.php$ index.php
RewriteRule orderSuccess.inc.php$ index.php
RewriteRule send_reminders.php$ index.php
RewriteRule config.php$ index.php
RewriteRule ask_password.php$ index.php
RewriteRule msgimport$ index.php
RewriteRule README$ index.php
RewriteRule fastenv$ index.php
RewriteRule main.php$ index.php
RewriteRule sql.php$ index.php
Μεγάλη προσοχή όμως!
Θα πρέπει να μην έχετε αρχεία στο τέλος ενός valid url γιατί αλλιώς θα κάνει redirection στο αρχικό site.
Ένα παράδειγμα είναι και το εξής:
http://balaskas.gr/README το οποίο ΔΕΝ υπάρχει.
Αντί να εμφανίσει το http 404 λάθος θα κάνει redirection στην αρχική σελίδα μου.
Όσοι ασχολούμαστε με Linux έχουμε σκοπό της ζωής μας να “μισούμε” την Microsoft, όλα τα Windows και το office (+μερικές χιλιάδες άλλα πράγματα, όπως ανθρώπους, flash videos, games κ.λ.π.-κ.λ.π.).
Για λόγους δουλειάς χρειάζομαι κάποιο windows περιβάλλον καθώς υπάρχουν εφαρμογές που ΔΕΝ τρέχουν ακόμα σε Linux ή δεν πρόκειται να τρέξουν ποτέ, ούτε μέσω wine (παρότι τις φιλότιμες προσπάθειες μου - λύση είναι μόνο το virtualbox). Μιας και δεν μπορώ να επιβάλω στην εταιρεία που εργάζομαι ποιο σύστημα για διαχείριση αιτημάτων πρέπει να έχουμε και γιατί, υπομένω κι εργάζομαι σε windows.
Στο laptop μου (Fujitsu Siemens Amilo Pi1520s) έχω λοιπόν ένα partition με windows xp home το οποίο υπήρχε από την ημέρα που αγόρασα το laptop. Πυκνά συχνά (ίσως μάλιστα πιο συχνά από όσο θα ήθελα) εργάζομαι στα WinXP Home και μάλιστα έχω μία πλειάδα προγραμμάτων σε ένα partition <20Gb. Με 1 Gb Ram εργάζομαι λίγο παραπάνω από 3 χρόνια.
Προσπαθώ να το έχω πάντα αναβαθμισμένο μέσω του windows update και να καθαρίζω τα σκουπίδια μου κατά καιρούς. Ελέγχω για τυχόν ιούς, κατεβάζω την αλληλογραφία μου κ.λ.π.-κ.λ.π. Είναι πλήρες από προγράμματα.
Μετά λοιπόν από 3 χρόνια μου έβγαλε μπλε οθόνη!
Για να το διορθώσω έπρεπε να αναζητήσω τα cd από όταν αγόρασα το laptop και μάλιστα να σκίσω την θήκη του windows xp repair cd καθώς ΔΕΝ το είχα ποτέ ανοίξει. Επέλεξα την επιλογή Repair και στην συνέχεια μου επιδιόρθωσε τα windows. Μάλιστα όταν ξαναεκκίνησε το laptop και μπήκα με επιτυχία στα windows διαπίστωσα ότι ΔΕΝ μου “έφαγε” τα προγράμματα που είχα εγκαταστήσει. Μάλιστα σύμφωνα με τις αναβαθμίσεις ήμουν πριν το SP3.
Ολοκλήρωσα με επιτυχία τις αναβαθμίσεις, καθάρισα εκ νέου τον δίσκο, τον έκανα defrag κι αυτή την στιγμή γράφω και τούτο το blog entry.
Άρα ο απολογισμός είναι μία φορά στα 3 χρόνια!
Τολμώ να πω ότι περισσότερες από 2 φορές τον χρόνο “φορμάρω” linux διανομές σε laptop / desktop (δεν αναφέρομαι σε servers) άπειρες δε φορές οι αναβαθμίσεις μου έχουν βγάλει προβλήματα, άπειρα εις το τετράγωνο μου έχουν προκύψει ασυμβατότητες κι έπρεπε να βάλω δάχτυλο για να αλλάξω κάτι. Σε αυτό το σημείο να ΜΗΝ σχολιάσω τις αλλαγές του τελευταίου χρόνου μεταξύ freedesktop/dbus/hal & xorg). Μείναμε με μαύρη οθόνη (κονσόλα) για ώρες.
Που θέλω να καταλήξω: ότι τα πάντα ξεκινάμε από την χρήση του καθενός στο μηχάνημα & διανομή που έχει επιλέξει. Σε δεύτερη μοίρα έρχεται το ίδιο το λειτουργικό, δεν χρειάζεται να “μισούμε” κανέναν - χρειάζεται απλά να βρίσκουμε τις ατέλειες/διαφωνίες μας και να τις αναδεικνύουμε σε ένα open source λειτουργικό (περιβάλλον).
Φυσικά παραμένω πάντα υπέρμαχος opensource λύσεων και των ανοιχτών προτύπων, αλλά χρειάζεται να ακούγεται και η γνώμη ενός όχι και τόσο άπειρου πλέον linux χρήστη (εργάζομαι σε Linux από το 2002 σε μόνιμη και καθημερινή βάση).
Ελπίζω τα τυχόν σχόλια που θα λάβω να είναι ευπρεπή :D
Πάρα πολλά τα πρώτα θετικά σχόλια για την νέα έκδοση 3 του Thunderbird mail client. Φυσικά κανένα πρόγραμμα δεν είναι τέλειο κι όλα έχουν και αρνητικά σημεία. Ένα από τα πιο σημαντικά αρνητικά σημεία είναι και το calendar project του mozilla. To όνομά του Lightning κι αρχικά δημιουργήθηκε ως ένα απλό ημερολόγιο όπου ο καθένας μπορεί να γράφει διάφορες εργασίες κι έτσι να προγραμματίζει τον χρόνο του.
Μία από τις μεγαλύτερες επεκτάσεις του είναι (μάλλον ήταν) η υποστήριξή των calendar request
μέσα από ένα MS Outlook (ή ενός exchange mail server).
Κατά την ανάπτυξη του Thunderbird version 3, σκέφτηκαν να αναπτύξουν ως embedded το calendar,
έπειτα διαφώνησαν κι έπειτα σκέφτηκαν: -Μα υπάρχει ήδη το lightning. Κάπου εδώ έχασαν την μπάλα
και τελικά έβγαλαν την έκδοση 3 χωρίς calendar.
Δυστυχώς όμως κατά την βιασύνη τους να προλάβουν το release cycle δεν έλεγξαν την συμβατότητα
της υπάρχουσας stable εκδοσης του ligthning (0.9). Με τραγικό αποτέλεσμα σε thunderbird 3 να μην
υπάρχει calendar project και τα διάφορα calendar requests να καταφτάνουν ως αφορμάριστα κείμενα
και να χρειάζεται μεγάλη προσοχή για να καταλάβεις πότε και που έχεις το επόμενο meeting.
Φυσικά το plugin δεν έχει μείνει χωρίς development. Μπορείτε να κατεβάσετε την nightly (aka latest) version του lightning και να το εγκαταστήσετε χωρίς πρόβλημα.
Παραθέτω δύο screen shots που δείχνουν την λειτουργία του χωρίς προβλήματα:
Είναι πλέον αρκετά γνωστή η προσφιλή μου αδυναμία στο αλκοόλ.
Οπότε κι εάν θέλετε να με κεράσετε μία μπύρα, δεν έχετε παρά να το κάνετε :)
Εναλλακτικά όμως υπάρχει και η παρακάτω δυνατότητα:
Σήμερον έλαβον δια μέσου ταχυδρομείου τα εξής τρία βιβλία:
και με αυτά ανανέωσα την βιβλιοθήκη μου με κλασικά έργα.
Αυτές τις μέρες διαβάζω το The picture of Dorian Gray - Oscar Wilde.
Έτυχε να δω και την ταινία που βγήκε αυτές τις μέρες: Dorian Gray κι επιβεβαιώνεται το γεγονός ότι μία ταινία δεν έχει καμία σχέση με το βιβλίο και την πραγματική ιστορία. Πολλές ανακρίβειες βασισμένες στην ιστορία του Oscar Wilde αλλά σε καμία περίπτωση δεν είναι η απόδοση του βιβλίου.
Προσπαθώ να καταγράψω τα βιβλία που έχω διαβάσει στην εξής σελίδα: books.google.com
From ChangeLog:
- This release adds the ability to Disable Logging and Debbuging functionality
- Also has better debugging information (pyinotify events and rsync command)
plz try ./PIrsyncD –help to see more
Get the latest version of PIrsyncD v20100102
btw: BitBucket rocks!!!