הסמכה ב- ipv6.he.net יש בדיקות יומיות שמוותרות 1 נקודה נוספת לאחר שעבר את כל המבחנים הבסיסיים. צריך לעשות אותם 100 בדיקות כאלה לציון המרבי 😐 . הבדיקות עצמן טריוויאליות לחלוטין

  • טרייסרו
  • אתה AAAA
  • אתה PTR
  • פינג
  • מי זה

הדבר הכי לא נעים הוא שהבדיקות עצמן חייבות להיות ייחודיות, כלומר אינך יכול להשתמש בתחום אחד פעמיים 🙂 מלבד כל השאר, הם קצת מעצבנים 🙄 – אין אתגר רק סטירות 5 פקודות ב- cli ולהעתיק / להדביק את התוצאה באתר שלהם.

בתור עצלן ומנהל מערכת שאוהב להקל על חייו, גירדתי במהירות בסיס יסודי שעושה לי את העבודה המלוכלכת.

#!/bin/bash

hr() {
  local start=$'\e(0' end=$'\e(B' line='qqqqqqqqqqqqqqqq'
  local cols=${COLUMNS:-$(tput cols)}
  while ((${#line} < cols)); do line+="$line"; done
  printf '%s%s%s\n' "$start" "${line:0:cols}" "$end"
}

if [ -z $1 ]
then
  echo "Append domain afert the script name!!!"
  exit
fi

IP=$(dig $1 AAAA +short)

if [ -z ${IP} ]
then
  echo "$1 dont have valid IPv6 record"
else
  reset
  traceroute6 $1
  hr
  dig $1 AAAA
  hr
  dig -x ${IP}
  hr
  ping6 -c3 ${IP}
  hr 
  whois ${IP}
fi

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

אחד הדברים שהכי מרגיז אותי הוא כשאני מעתיק / מעביר במאי מעולה בקלי, אין לי מושג איזה אחוז מהגודל הכולל שגלגלתי עליו. למרבה הצער, ל- cp / mv אין כוחות כאלה ואנחנו צריכים לפנות לחלופות. יש הרבה אפשרויות אבל אני אישית אוהב את השימוש ב- rsync במקום pc / mv. יש בו כל דבר מובנה – לשמור על זכויות על קבצים וספריות, סרגל התקדמות כמו גם היכולת למחוק קבצים שהועתקו.

באופן כללי, עשיתי זאת 2 כינוי שעושה יותר מאשר עבודה נפלאה:

alias cpi='rsync -a --info=progress2'
alias mvi='rsync -a --info=progress2 --remove-source-files'

הרבה זמן לא עסקתי בקידוד ולעיתים רחוקות אני נאלץ להרים עיוותים כלשהם ב- cli שאינם מקודדים UTF8. היום הייתי צריך לבדוק כמה קבצים במהירות וכשפתחתי אותם כמעט מייד רציתי לעשות rm -rf על התיקיה בה הם נמצאים., איזה טיפש עם חצי תא מוח החליט לכתוב את הערותיו בקירילית. למרבה המזל, לא כוחות האדמירל העל פותרים אי הבנה זו של הטבע 1 לחתור בקלי:

iconv -f cp1251 -t utf8 old_shitty_encoded_file -o new_good_encoded_file

אני חושב שהדגלים עצמם מדברים בעד עצמם, אבל בואו נסתכל עליהם במהירות:

  • -o קובץ פלט
  • -קידוד t
  • -קידוד t

iconv יש תוספת נחמדה נוספת שיכולה לתעתוק (היכן שאפשר) על ידי הגדרת -t ASCII // TRANSLIT אך לרוע המזל זה לא עובד עם קירילית 🙂

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

  • pg_dropcluster
  • pg_upgradecluster

יש להפסיק את הדמון pg לפני שתוכל להוריד את האשכול!

pg_dropcluster 9.4 main

פקודה זו עוברת במהירות, ואז אנו עוברים לחלק המהותי – השדרוג עצמו

pg_upgradecluster 9.1 main
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
config /etc/postgresql/9.4/main
data   /var/lib/postgresql/9.4/main
locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------------e-C
port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Fixing hardcoded library paths for stored procedures...
Upgrading database xpqt...
Analyzing database xpqt...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

pg_dropcluster 9.1 main

אם הכל התנהל בצורה חלקה עליכם לקבל הודעה כמו זו שלמעלה שמזמינה אתכם להיפטר מהנתונים הישנים מ- pg.

pg_dropcluster 9.1 main

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

היום הייתי צריך להריץ fsck על מערך RAID גדול ~ 6TB. במהירות לא התחלתי fsck באפשרות -C להראות לי התקדמות ואחרי המתנה צנועה מ 2 שעות אני קצת עייפה, שאני לא מודע לכמה רחוק הבדיקה הגיעה. טריק מגניב עבור fsck שהושק כבר כדי לדמיין את סרגל ההתקדמות הוא:

kill -10 $(pidof fsck.ext3)

אתה מחכה איתי זמן מה בערך 2-3 דקות הופיע סרגל התקדמות והראה 49% (קף) יותר 3 שעות המתנה 🙁

בוא נסכם את מה שאנחנו עושים אנו שולחים איתות SIGUSR1 מה שמבקש את ה- fsck להציג את סרגל ההתקדמות. אם אנחנו רוצים לעצור את זה מסיבה כלשהי, עלינו לשלוח אותה SIGUSR2 או

kill -12 $(pidof fsck.ext3)

ובכן זה לא משהו סופר מסובך או קשה רק טריק מגניב 🙂