קצת נחת – על דיסק שחזר מהפח

בין כל תמונות החתולים ותמונות הטבע, אבא שלי גם שולח לי מדי פעם אייטמים מעניינים, והנה התפלק לו פנימה גם אייטם שממש שימח אותי: TheMarker IT – תביעה ייצוגית בסך 160 מיליון שקל נגד אייבורי ו-KSP. לא, אני לא שמח שתובעים אותם עד שאני לא אדע אם באמת היתה כאן הונאה ונמכרו דיסקים תקולים בידיעה. אם היתה אז זה באמת סיפור מוזר, כי מבין השורות אפשר אולי להבין שהבעיה תוקנה בשדרוג קושחה, מה שמאוד מקל על המשתמשים או המתקינים לטפל בזה בקלות (כמו שעשיתי אני). ברור לי שאין מצב שKSP או מישהו ידעו שקיימת הבעיה והסתירו אותה חצי שנה, כי חומרת מחשבים לא מוחזקת בארץ במלאי יותר משבועות ספורים, לרוב ימים בודדים, משמע האספקה הפגומה המשיכה הרבה זמן בגלל שסיגייט עצמם לא ידעו על הבעיה במשך כל הזמן הזה, וברגע שהם תיקנו אותו, הם פרסמו את דבר עדכון הקושחה באתר שלהם. אם יש מישהו לתבוע אותו על אספקת מוצר דפוק לאורך זמן זה אולי את סיגייט.

מצד שני, מרגע שהתפרסם, היה יכול להיות מנומס מצד הרשתות הנ"ל לפרסם את דבר המצאו של עדכון קושחה חשוב בעמוד הכניסה של האתר שלהן. אני לא מדבר על שליחה של SMS או מייל לכל לקוח שמופיע במסד הנתונים של ה-CRM שלהם (פריוריטי, נדמה לי) שקנה את הדיסקים הנ"ל, זה בכלל היה יכול להיות חלומי. נכון לרגע זה אין על זה מילה בשני האתרים (חיפשתי דקה או שתיים במקומות שהיה הגיוני למצוא את זה).

הסיפור: מאז אפריל שוכב אצלי, מנותק מהחשמל, דיסק אחד שאכן מופיע ברשימת הדגמים שדה-מארקר מפרט בכתבה. הוא התחיל לג'עג'ע והייתי בטוח שהנה עוד דיסק שהטורנטים עשו בו שמות (אחרי מספר אסונות עבר אני מקפיד לקנות דיסקים RE, למרות המחיר הלא-שפוי). ניתקתי אותו עד שיהיה לי זמן וכסף לקנות חלופי, לנסות להעביר אליו את החומר דקות לפני המוות ואז ללכת להפעיל את האחריות. כמו שאתם מבינים התכנית הזו לא הגיעה רחוק, הנה אנחנו בדצמבר, וזה אומר שמונה חודשי השבתה (גם בבנק…). כבר הייתי בטוח שלא רק שלא אציל את החומר, אלא שגם הדיסק יצא מאחריות, אבל אז הגיעה הידיעה הזו וירדה לי אבן מהלב.

בעקבות האייטם הלכתי להוריד את תכנית האבחון הקטנה של סיגייט, שני דיסקים במערכת (מתוך שישה, אל תשאלו) סומנו באדום, כלומר שיש להם עדכון קושחה. משם שלחה אותי התכנית לעמוד שביקש ממני את המספרים הסידוריים (למה קאפצ'ה?), ואכן לאחד שנתקע הומלץ עדכון ולשני לא. אולי מדובר באמת בפאק של סדרה מוגבלת, כי שניהם מאותו הדגם והריצו את אותה הקושחה אבל נקנו בהזדמנויות שונות.

תוכנת העידכון הורדה, הורצה (היא איתחלה את המחשב כי היא לא תרוץ מתוך "חלונות" עצמה), התוכנה זיהתה את שני הדיסקים המדוברים אבל עדכנה את שניהם בלי לעצור לשאול אם אני מאשר לעדכן גם את התקין (מוזר ומעצבן, אם הייתי יודע הייתי שולף אותו מבעוד מועד). עוד ריבוט ואני מסתכל בשימחה על כל הקבצים שחזרו מלימבו. ירד לי קרש מהאף.

(מבקש סליחה מדני סנדרסון על הפלגיאט הקטן)

שנים לא קניתי סיגייט אחרי נסיון עבר כושל, אחרי שהתאמצו ושכנעו אותי בחנות (KSP שממול עזריאלי) שהסדרה הזו מצוינת קניתי, אבל אני הולך להחליף אותו לWD ברגע שרק אספיק להוריד ממנו את כל החומר לדיסק חדש, לא מחכה לכשל הבא. אני מאוכזב טיפה מ-KSP אבל לא כועס עליהם, הם סרט נע של מכירת חומרה, והמחירים שלהם נוחים לי. אני אחזור להתרחק מסיגייט/מקסטור לעומת זאת. כרגע זה משאיר בעיקר את WD כי לצערי היטאצ'י וסאמסונג מסדרות של שרתים לא מביאים לארץ, בפעם האחרונה שבדקתי, וב"קאוויאר" של WD אני גם משתדל לא להתעסק. מקווה שהמידע הזה עוזר למישהו, ושיספיק לכם הדיסק לשמונה ימים!

כלים להקל על עריכת מדיה־ויקי

אני מנהל מספר ויקים על מדיה־ויקי וחבר בעוד כמה (ובאחד פחות…). היום התעופפה לי חצי שעה של עריכה בויקי שניות לפני שלחצתי שמירה בשל תקלת של חח"י (את הUPS הם דפקו לי לפני חצי שנה בסופת ברקים). בוורדפרס וג'מיל התרגלתי שחברת־החשמל לא יכולה להשבית לי שמחות, אבל פונקציה דומה במדיה־ויקי זה בעיה להפעיל מסיבות רבות. לשואש היה אמור להיות מנגנון שמשחזר מקריסה את הטאבים כולל תכני־טפסים אבל הוא לא עבד, אז התקנתי בזמנו את TMP אבל גם הוא לא עושה את העבודה.

אז שינסתי מותני והלכתי לחפש פתרונות לכמה דברים שהציקו לי (אוטומציה, שחזור עריכות מקריסה, עריכה משופרת וכולי). מצאתי בויקיפדיה האנגלית לא מעט כלים ששוה להכיר אבל אין לינק בינוויקי לעברית אז (עוד) לא חיפשתי מה גויר ואם יש המלצות. אני אבדוק אותם בימים הקרובים ואעדכן פה את הפוסט אם אגיע למסקנות. אבדוק עד כמה שאפשר תאימות הדדית וכמובן עברית, אבל אני לא מבטיח להיות יסודי – אני כנראה אעצור כשאמצא לי פתרון עובד. אם יש למישהי עוד עצות אז אתן מוזמנות להמליץ, וכמובן אם תמצאו משהו שאני לא גיליתי או לא הגעתי לבדוק – טופס התגובות במקומו מחכה.

  • WikiEd – ג'אווה־סקריפט דפדפנים מבוססי גקו ו-וובקיט (בקיצור לא אופרה ואקספלונטר) לסביבת עריכה משופרת של ויקיטקסט בתוך חלונות עריכה של מדיה־ויקי. תורגם לערבית אז בטח טוב גם לעברית, אני אציץ עליו אם יש מה לשנות שם בכיווניות או שהוא יורש אותה מהCSS ונשאר רק לתרגם את המחרוזות, ואם כך למה לא הפרידו את המחרוזות מגוף הסקריפט (אפשר להריץ סקריפט מינימליסטי והסקריפט המעודכן המלא רץ מאתר הבית של הויקיפדיה).

    תוכלו להתקין אותו בגריזמונקי לעצמכם, או בערכת המדיה־ויקי לכל משתמשי הויקי שלכם, או רק באתר המדיה־ויקי החשוב לכם (אם לא ידעתם, אז לכל יוזר במדיה־ויקי יש אפשרות לערוך לעצמו את הCSS האישי ואם מנהל האתר איפשר אז גם להוסיף סקריפטים). כתוב שיש כמה באגים ידועים בשואש 3 שפוגעים בתפקודו, אז אם אהבתם אותו, הצביעו למענם בבאגזילה של מוזילה.

  • אבל זה רק אחד, יש עוד הרבה כלי JS שונים, אם רק היה לי זמן לעבור על הכל ולדלות דברים שווים…
  • WikiEditPuffer – תוסף שואש ששומר עותקים מקומיים בזמן עריכה בחלון מדיה־ויקי כל X שניות או Y הקשות – מה שבא קודם. נשאר לכם ארכיון יפה (וגדל במהירות – יש להזהר!) של ערכים שערכתם, בקבצי טקסט קטנים שמהם אפשר לשחזר.
  • שלבו עורך חיצוני כמו Notepad++ או VIM או מה שאתם אוהבים, מתוך השואש.
  • לאזארוס יקים לכם לתחיה טפסים שמתו.
  • עוד רשימה ארוכה של תוספי־שואש, לא כולם ספציפיים דווקא למדיה־ויקי. יש גם לדפדפנים אחרים, אבל מי צריך? :)
  • לכל חובבי FUSE בלינוקס, יש את WikipediaFS. זה עושה בדיוק מה שאתם חושבים שזה עושה. זה פסיכי. אני לא מתכוון להתקין את זה :-)

בפעם אחרת אציץ לראות אם מישהי מכן משתמשת בתוספים בשביל הוורדפרס שלה, לדוגמא סקרייבפייר, שווה? נראה שתומך עברית והוא הרי תוכנה חופשית, אז הא לכם כל משתמשי Live Writer, אתם מוזמנים לעשות הסבה.

עוד על גיבויים

אמנם כתבתי על זה בעבר, אבל אפילו אני פאקיונר לא קטן, השבוע גסס לי דיסק, והצלתי ממנו מידע בעור שיני (מה זה אומר לעזאזל? אין לי עור על השיניים!). הבעיה נפתרה אחרי הרבה העתקה איטית וזהירה תחת עינו הפקוחה של מזגן ובסוף כל המידע הועתק יפה מהדיסק למעט קובץ אחד שיש לי מקור אחר בשבילו. במקביל אני קורא כי רק לפני יומיים הלכו הפורומים של אובונטו ישראל בגלל שדרוג חסר אחריות, וצוות האתר לא מבין שיש לו מחויבות לשחזר. וואטסאפ הפליגו עם כותרת מאוד צהובה וכבר הכריזו "מותה של קהילה". אני לא הייתי באמת נשאר אצל צוות הנהלה שיורק בקשת (איזראל סטייל) על מה שכתבו משתתפים בפורום ועונים להם בחוצפה כשהם מבקשים את החומר חזרה באתר. למרות ששם זה נראה שזה נעשה מתוך הובריס ילדותי מכוון ולא בשל תקלה.

לבסוף לפני שעתיים כתבה לי טליה בבהלה שהיא מחקה לעצמה בטעות את הבלוג. אחרי שנרגעה טיפה ושיחזרה את הרוב (עזרתי עם איזה קובצון או שניים), החלטתי להתיישב ולכתוב howto פשוט, איך לגבות שרת גנו או יוניקס מרוחק בלי לגעת בו. אני מביא כאן את הסקריפט שאיתו אני מגבה את השרת שלי ועושה התאמות לגיבוי של ספרית בית של משתמש שאין לו גישת root, אנא בדקו אחרי שלא פישלתי בכלום, כי אחרי כל השינויים אני לא מתכוון להעביר את זה QA:

1. צרו סקריפט שיגבה את כל ספרית הבית שלכם, וכל טבלה דרושה ממסד הנתונים:

#!/bin/bash

# a generic hack to make a backup tarball of a homedir on a server
# and back it up to a home machine.
# This hack is public domain, and may not be useful to YOU if you don't
# customize it to the bone.

# The design is simple - stick everything in a single directory and rsync it out.
# We keep three days of material back, you still need to
# use rsync to take it home.

mkdir -p ~/backup ; cd ~/backup

mkdir -p current back.1 back.2 # add as necessary!

## first, rotate the directories

mv back.1/* back.2
mv current/* back.1

## set up dates for the backup filenames

TODAY=$(date +%Y-%m-%d)
THISMONTH=$(date --date="$TODAY -1 days" +%Y-%m)
ARCHSINCE=$(date --date="$TODAY -1 days" +%Y-%m-1)

## now dump MySQL, you must edit this to reflect YOUR db names!

for db in db1 db2 ${USER}_db ; do
nice mysqldump -e --add-drop-table --add-locks \
--user=USERNAME --password=PASS --single-transaction -q $db | \
nice gzip -c --rsyncable > current/$(hostname)_sql_$db.gz
done

## Did you notice? I always use gzip --rsyncable so the tarballs are, well, rsync-able!

## Latest web logs - only incremental of this month
( tar --newer-mtime ${ARCHSINCE} -cf - ~/weblogs | nice gzip -c --rsyncable \
> current/$(hostname)-weblogs-${THISMONTH}.tgz ) 2> /dev/null

## I run several sites
for site in ~/sites/* ; do
sitename=$(basename ${site})
( tar -C ~/sites/ -cf - ${sitename} | nice gzip -c --rsyncable \
> current/${USER}-${sitename}.tgz ) 2> /dev/null
done

## Backup all the rest of the homedir:
( tar --exclude=weblogs --exclude=sites --exclude=backup -cf - ~/. | nice gzip -c --rsyncable \
> current/$(hostname)-${USER}home.tgz ) 2> /dev/null

## AGAIN: this script makes a lot of assumptions, many not right for your setup.
## go over it, understand what it does and edit it to YOUR needs with
## YOUR directory names.

2. הריצו אותו כל לילה בשעות הכי פנויות בcron

crontab -e
(this opens an editor and you add in a line to run your script)
MAILTO=yourmail@yourdomain.com
30 3 * * * ~/bin/nightly-backup

3. במחשב הביתי שלכם, בנו סקריפט קטן שימשוך את הדלתא של העדכון. אם אתן לא מריצות גנו/לינוקס או מאק, אתן יכולות להתקין cygwin כי אני לא מכיר דרך יותר נוחה להשתמש בrsync מחלונות (הקוראות מוזמנות להאיר את עיני)

while ! nice rsync -av SERVER:backup/current/ ~/backups/SERVER/ ; do sleep 1 ; done

4. הכניסו גם אותו לcron. כאן אני מניח שלא יקח יותר משעה לגבות את כל האמור לעיל, אבל אם אצלכם זה שונה, שנו את המספרים לשעה יותר מאוחרת.

crontab -e
(this opens an editor and you add in a line to run your script)
MAILTO=yourmail@yourdomain.com
30 4 * * * ~/bin/rsync-nightly-backup | tail -2

אני לא דואג לפרט כאן איך למשוך RSYNC משרת רחוק בלי לשבת ליד המקלדת ולהכניס סיסמא כל פעם, אבל אם תהיה מספיק דרישה אני אוסיף עוד howto קטן בנושא. בינתיים רמז: SSH עם מפתח פרטי וציבורי, כאשר אין passphrase או שאתם דואגים לssh-agent רץ וזמין לפעולת הcron.

ושוב כאמור, כתבתי את כל הנ"ל חפיף, נא לתקן אותי אם שכחתי או פישלתי במשהו.