עבור לתוכן
Alex Kovalev

cPanel ו-WHM משורת הפקודה: גיבוי, העברה ושחזור של חשבון

מדריך פרקטי ל-cPanel ו-WHM משורת הפקודה: יצירת גיבויי cpmove, העברת חשבונות בין שרתים, שחזור בטוח, ובדיקה של מה השתבש.

Guide4דקות קריאה
ארון שרתים עם כבלי רשת בדאטה סנטר
ארון שרתים עם כבלי רשת בדאטה סנטר

אתם צריכים להעביר חשבון cPanel, לשחזר חשבון שבור, או לעשות גיבוי לפני שאתם נוגעים במשהו מפחיד. ה-CLI מהיר יותר מלקליק-קליק בתוך WHM. הוא גם טוב מאוד בלעשות בדיוק את מה שאמרתם לו לעשות.

המדריך הזה מכסה את הפקודות שאני משתמש בהן הכי הרבה: pkgacct, restorepkg, scp ו-whmapi1.

שני נתיבים שכדאי לזכור: הסקריפטים נמצאים ב-/usr/local/cpanel/scripts, וקבצי החשבון בדרך כלל ב-/home/USERNAME.

הגרסה הקצרה

יוצרים ארכיון מלא של החשבון:

Terminal window
/usr/local/cpanel/scripts/pkgacct USERNAME /home

זה יוצר את /home/cpmove-USERNAME.tar.gz.

מעתיקים אותו לשרת אחר (תצטרכו גישת SSH):

Terminal window
scp /home/cpmove-USERNAME.tar.gz root@NEW_SERVER:/home/

ומשחזרים אותו שם:

Terminal window
/usr/local/cpanel/scripts/restorepkg /home/cpmove-USERNAME.tar.gz

תריצו את זה כ-root. הפקודות האלה משנות הגדרות cPanel ברמת השרת, לא סתם קבצים בתיקיית הבית של מישהו.

מה זה בכלל ארכיון cpmove?

pkgacct יוצר ארכיון cpmove נייד. יש בו את הקבצים של החשבון, מסדי הנתונים, המייל, נתוני ה-DNS, נתוני ה-SSL, משימות ה-cron וההגדרות של cPanel.

בדרך כלל אין צורך לפתוח אותו. cPanel כבר מכיר את הפורמט. זה פרויקט ארכיאולוגיית tarball אחד פחות.

גיבוי של חשבון cPanel אחד

זו שורת ה-pkgacct מהגרסה הקצרה. תשאירו את ה-/home המפורש בסוף: ככה קל למצוא את הארכיון.

כדי להציץ בו בלי לחלץ אותו:

Terminal window
tar -tzf /home/cpmove-USERNAME.tar.gz | less

כדי להשוות את הקובץ אחרי ההעתקה, תייצרו checksum בשני השרתים:

Terminal window
sha256sum /home/cpmove-USERNAME.tar.gz
השוואת hash-ים

עצרו. ארכיון מסתורי.תו אחד מתוך 64 שונה. זה מספיק.

שום דבר לא יוצא מהדפדפן. זו השוואת מחרוזות, לא קסם.

שני ה-hash-ים צריכים להיות זהים. אם הם לא, עצרו שם. אל תשחזרו ארכיון מסתורי.

שחזור גיבוי של cPanel

restorepkg מקבל או נתיב מלא לארכיון, כמו בגרסה הקצרה, או שם משתמש. הנתיב המלא ברור יותר. שחזור לפי שם משתמש עובד כשהארכיון נמצא באחד מנתיבי החיפוש של cPanel, למשל /home:

Terminal window
/usr/local/cpanel/scripts/restorepkg USERNAME

שחזור של חשבון קיים

כאן צריך להיזהר. אם החשבון כבר קיים, --force מתנהג די כמו --skipaccount: הוא משחזר את מה שהוא יכול ומשאיר את הנתונים הקיימים בשרת.

Terminal window
/usr/local/cpanel/scripts/restorepkg --force /home/cpmove-USERNAME.tar.gz

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

שחזור תחת שם משתמש אחר

השתמשו ב---newuser כשצריך לשנות את שם המשתמש ביעד:

Terminal window
/usr/local/cpanel/scripts/restorepkg --newuser NEWUSER /home/cpmove-OLDUSER.tar.gz

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

איפה cPanel שומר את קבצי החשבון

רוב החשבונות יושבים תחת /home, אבל שרת יכול להשתמש גם במחיצות home אחרות. אל תניחו שכל החשבונות גרים באותו ארון.

מהנתיב טיפוסי
תיקיית הבית של החשבון/home/USERNAME/
שורש האתר/home/USERNAME/public_html/
מייל/home/USERNAME/mail/
הגדרות החשבון/var/cpanel/users/USERNAME
אזורי DNS/var/named/
לוגים של Apache/usr/local/apache/logs/

קובץ ה-cpuser ב-/var/cpanel/users/USERNAME הוא קובץ ההגדרות הראשי של החשבון. תקראו אותו לפני שאתם עורכים אותו. עדיף עוד יותר, תשתמשו ב-WHM או בסקריפט מתועד כשאפשר.

פקודות שימושיות ל-WHM ו-cPanel

רשימת חשבונות:

Terminal window
whmapi1 listaccts

הצגת חשבון אחד:

Terminal window
whmapi1 accountsummary user=USERNAME

רוצים JSON במקום YAML?

Terminal window
whmapi1 --output=jsonpretty accountsummary user=USERNAME

ב-CloudLinux, השתמשו בנתיב המלא של הפקודה:

Terminal window
/usr/local/cpanel/bin/whmapi1 accountsummary user=USERNAME

עוד סקריפטים שימושיים:

משימהפקודה
יצירת ארכיון לחשבון/usr/local/cpanel/scripts/pkgacct USERNAME /home
שחזור ארכיון/usr/local/cpanel/scripts/restorepkg ARCHIVE
מחיקת חשבון/usr/local/cpanel/scripts/removeacct USERNAME
בנייה מחדש של הגדרות Apache/usr/local/cpanel/scripts/rebuildhttpdconf
הפעלה מחדש של Apache/usr/local/cpanel/scripts/restartsrv_httpd
עדכון מיפויי דומיינים/usr/local/cpanel/scripts/updateuserdomains

השתמשו בנתיב המלא של הסקריפט. cPanel ממליצים על זה, גם אם אתם כבר נמצאים בתוך /usr/local/cpanel/scripts.

מחיקת חשבון

זה מוחק את הנתונים של החשבון. קודם תעשו גיבוי.

Terminal window
/usr/local/cpanel/scripts/removeacct USERNAME

הסקריפט מבקש אישור. --force מדלג על השאלה הזאת. הוא לא הופך את הפקודה לפחות הרסנית.

צ’קליסט שחזור מהיר

זה שהפקודה סיימה לרוץ לא אומר שהמיגרציה הסתיימה.

  1. צרו ארכיון cpmove עם pkgacct.
  2. העתיקו אותו ליעד.
  3. השוו את ה-checksum בשני השרתים.
  4. שחזרו אותו עם restorepkg.
  5. בדקו את האתר ואת החיבור למסד הנתונים. טבלת MySQL קרסה נראית כמו אתר שבור בלי שום שגיאה מועילה.
  6. בדקו מייל (SPF, DKIM ו-DMARC), DNS, SSL ומשימות cron.
  7. שמרו את הארכיון עד שאתם מרוצים מהתוצאה.

שאלות נפוצות

איפה pkgacct שומר את הגיבוי?

אם אתם מעבירים /home כארגומנט האחרון, הוא שומר את הארכיון שם. בלי תיקייה, cPanel משתמש בתיקיית ה-home עם הכי הרבה מקום פנוי.

אפשר לשחזר ארכיון cpmove על שרת cPanel אחר?

כן. בשביל זה בדיוק קיימים הארכיונים של pkgacct. רק תוודאו שבשרת היעד יש מספיק מקום פנוי בדיסק והגדרת cPanel תואמת.

ארכיון cpmove מעביר גם אימות דו-שלבי?

לא. cPanel לא מעביר את הגדרות ה-2FA של החשבון. המשתמש יצטרך להגדיר אותו מחדש בשרת החדש.

צריך לחלץ את הארכיון לפני השחזור?

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

מקורות

תגובות

התגובות נשמרות ב-GitHub Discussions (דרך giscus), אז כדי להצטרף לשיחה צריך חשבון GitHub.

אצייץ לך כשיעלה פוסט חדש

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

מעדיפים קורא RSS? יש פיד RSS.

© Alex Kovalev. כל הזכויות שמורות. · מדיניות פרטיות