Clonezilla

מכירים את partimage? גם כאן מדובר בתוכנה היודעת לבצע clone למחיצה לצורך שיחזורה בשלב מאוחר יותר. להבדיל מ- partimage (שמבצעת clone לכל המחיצה – כלומר גם לשטח שאיננו בשימוש) clonezilla מבצעת clone רק לשטח שבשימוש. clonezilla תומכת בפורמטים רבים בינהם ext2 ,ext3 ,fat32 ,ntfs ועוד… ניסיתי אותה (בשני הכיוונים), ולדעתי יש לה עוד הרבה מה להשתפר (במיוחד בממשק המשתמש). בכל מקרה מדובר בפרויקט חדש, כך שיש למה לצפות. דרך אגב: מפתחי gparted הוציאו גרסה משולבת: gparted ו- clonezilla בדיסק bootable יחיד.

קישורים:
דף הבית
Gparted-Clonezilla

clonezilla.jpg

Open-Clipart

לפני שנים רבות נהגתי להשתמש באוסף התמונות של מיקרוסופט אופיס בעת שכתבתי מסמכים באופן-אופיס. האמת: לא חוקי ולא יפה ! כנראה שרבים הבינו את הבעיה וכך נוצר לו הפתרון: openclipart. מדובר באתר המאפשר לאנשים לתרום תמונות ברישיון חופשי (בפורמטים png ו- svg) וכך, כעבור מספר שנים, הצטברו באתר כבר למעלה מ- 7000 איורים!!! ניתן להוריד את האוסף כקובץ בודד (נניח לשימוש בסביבת בחלונות) או כחבילה בינארית. באובונטו (ואני בטוח שגם בהפצות נוספות) ארזו את האוסף בחבילה בשם openclipart שניתן להתקינה דרך התפריט "הוספה והסרה". האוסף מותקן בנתיב usr/share/openclipart/ וכל שנותר זה להשתמש באוסף המדהים הזה בכדי להעשיר את המסמכים שלכם.

geranium_ganson.png

rsync+ssh – פתרון הגיבוי האולטימטיבי

סיפרתי לכם על השאיפה שלי להקים שרת NAS "שיחזיק" את כל הגיבויים החשובים שלי (תוכנות, סרטים, מוזיקה, מסמכים ועוד…). מאחר ש- FREENAS עדיין לא תומך ב- SATA2 החלטתי לפעול בכיוון הבא: התקנתי על שרת יעודי את Ububtu Dapper Server בתצורתו המינימלית ביותר (ללא LAMP). בחרתי בהפצה זאת מפני שמדובר בהפצה מאוד יציבה (תכונה מאוד חשובה לשרת שמחזיק גיבויים). פתרון הגיבוי שהקמתי מתבסס על RSYNC ו- SSH. מספר מילים על RSYNC ו-SSH:

  • rsync היא תוכנה קטנה וגאונית. יש לה יכולות עצומות כשאני משתמש כרגע בתכונה אחת בלבד והיא תכונת ה- mirroring. כלומר rsync יצור תמונת ראי של קבצי הגיבוי החשובים בשרת המרוחק.
  • היתרון ב- rsync הוא בביצוע השוואת קבצים מאוד חכמה: נניח ששיניתי 1 בייט בקובץ של 1 גיגהבייט. תוכנת גיבוי רגילה תרגיש שמדובר בקבצים שונים ולכן תעתיק מחדש את כל ה- 1 גיגה לשרת. rsync (אמרתי שהיא תוכנה גאונית?) מחלקת את הקבצים לבלוקים רבים, ומבצעת השוואה לבלוקים אלו, ולכן תעלה לשרת הגיבוי רק את הבלוק שהשתנה (בפועל היא תעביר רק מספר קילובייט) ותיצור קובץ הזהה לחלוטין לקובץ המקורי תוך מספר שניות בלבד.
  • הפקודה הבסיסית לסנכרון תיקיות בין מחשב מקומי למחשב מרוחק (NAS) היא:
    rsync -arv –delete local_dir NAS:destination_dir
    הבעיה בפקודה היא שהשרת המרוחק מבקש סיסמה להזדהות, ולכן לא ניתן להשתמש בפקודה זאת בסקריפט שרץ באופן עצמוני. בנוסף אין הצפנה של הנתונים (פרמטר שלא חשוב לי, אבל חשוב במקומות העבודה)
  • ssh הוא shell מאובטח. בפתרון שבחרתי לכל צד (קליינט ושרת) יש זוג מפתחות: פרטי וציבורי. כשהקליינט מעוניין להעביר את המידע לשרת המרוחק הוא מצפין את המידע בעזרת המפתח הציבורי של השרת המרוחק. רק לשרת המרוחק יש את המפתח הפרטי שיכול לפתוח את ההצפנה, ולקבל את הנתונים האמיתיים.

הפתרון:

לצורך ביצוע פעולת גיבוי מוצפנת (SSH ) וחכמה (RSYNC) יש לבצע את השלבים המתוארים באיור הבא (כתבתי באנגלית מטעמי נוחות):

rsync_ssh_backup.jpg

הערות:

  • בשלב 1 קובעים את שיטת ההצפנה (dsa) ויוצרים זוגות של מפתחות
  • בשלב 2 מעתיקים את המפתח הציבורי לשרת המרוחק.
  • בשלב 3 מכניסים את המפתח הציבורי למחסן המפתחות המאושרים.
  • בשלב 5 ניתן להוסיף את האופציה z וכך לדחוס את המידע המועבר לשרת החיצוני.
  • ניתן להריץ את הסקריפט באופן ידני ויבש (dry-run) עם האופציה -n וכך לראות אילו שינויים אמורים להתבצע.