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

אתם צריכים להעביר חשבון cPanel, לשחזר חשבון שבור, או לעשות גיבוי לפני שאתם נוגעים במשהו מפחיד. ה-CLI מהיר יותר מלקליק-קליק בתוך WHM. הוא גם טוב מאוד בלעשות בדיוק את מה שאמרתם לו לעשות.
המדריך הזה מכסה את הפקודות שאני משתמש בהן הכי הרבה: pkgacct, restorepkg, scp ו-whmapi1.
שני נתיבים שכדאי לזכור: הסקריפטים נמצאים ב-/usr/local/cpanel/scripts, וקבצי החשבון בדרך כלל ב-/home/USERNAME.
הגרסה הקצרה
יוצרים ארכיון מלא של החשבון:
/usr/local/cpanel/scripts/pkgacct USERNAME /homeזה יוצר את /home/cpmove-USERNAME.tar.gz.
מעתיקים אותו לשרת אחר (תצטרכו גישת SSH):
scp /home/cpmove-USERNAME.tar.gz root@NEW_SERVER:/home/ומשחזרים אותו שם:
/usr/local/cpanel/scripts/restorepkg /home/cpmove-USERNAME.tar.gzתריצו את זה כ-root. הפקודות האלה משנות הגדרות cPanel ברמת השרת, לא סתם קבצים בתיקיית הבית של מישהו.
קודם כל, בדקו כמה מקום פנוי יש בדיסק
אל תסמכו על --force בעיניים עצומות
מה זה בכלל ארכיון cpmove?
pkgacct יוצר ארכיון cpmove נייד. יש בו את הקבצים של החשבון, מסדי הנתונים, המייל, נתוני ה-DNS, נתוני ה-SSL, משימות ה-cron וההגדרות של cPanel.
בדרך כלל אין צורך לפתוח אותו. cPanel כבר מכיר את הפורמט. זה פרויקט ארכיאולוגיית tarball אחד פחות.
גיבוי של חשבון cPanel אחד
זו שורת ה-pkgacct מהגרסה הקצרה. תשאירו את ה-/home המפורש בסוף: ככה קל למצוא את הארכיון.
כדי להציץ בו בלי לחלץ אותו:
tar -tzf /home/cpmove-USERNAME.tar.gz | lessכדי להשוות את הקובץ אחרי ההעתקה, תייצרו checksum בשני השרתים:
sha256sum /home/cpmove-USERNAME.tar.gzעצרו. ארכיון מסתורי.תו אחד מתוך 64 שונה. זה מספיק.
שני ה-hash-ים צריכים להיות זהים. אם הם לא, עצרו שם. אל תשחזרו ארכיון מסתורי.
שחזור גיבוי של cPanel
restorepkg מקבל או נתיב מלא לארכיון, כמו בגרסה הקצרה, או שם משתמש. הנתיב המלא ברור יותר. שחזור לפי שם משתמש עובד כשהארכיון נמצא באחד מנתיבי החיפוש של cPanel, למשל /home:
/usr/local/cpanel/scripts/restorepkg USERNAMEשחזור של חשבון קיים
כאן צריך להיזהר. אם החשבון כבר קיים, --force מתנהג די כמו --skipaccount: הוא משחזר את מה שהוא יכול ומשאיר את הנתונים הקיימים בשרת.
/usr/local/cpanel/scripts/restorepkg --force /home/cpmove-USERNAME.tar.gzזה יכול להשאיר לכם ערבוב מבלבל של נתונים ישנים ומשוחזרים. אם אתם צריכים החלפה נקייה, תעשו גיבוי טרי, תתכננו את ה-downtime, ותבדקו את השחזור קודם על שרת staging.
שחזור תחת שם משתמש אחר
השתמשו ב---newuser כשצריך לשנות את שם המשתמש ביעד:
/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
רשימת חשבונות:
whmapi1 listacctsהצגת חשבון אחד:
whmapi1 accountsummary user=USERNAMEרוצים JSON במקום YAML?
whmapi1 --output=jsonpretty accountsummary user=USERNAMEב-CloudLinux, השתמשו בנתיב המלא של הפקודה:
/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.
מחיקת חשבון
זה מוחק את הנתונים של החשבון. קודם תעשו גיבוי.
/usr/local/cpanel/scripts/removeacct USERNAMEהסקריפט מבקש אישור. --force מדלג על השאלה הזאת. הוא לא הופך את הפקודה לפחות הרסנית.
צ’קליסט שחזור מהיר
זה שהפקודה סיימה לרוץ לא אומר שהמיגרציה הסתיימה.
- צרו ארכיון
cpmoveעםpkgacct. - העתיקו אותו ליעד.
- השוו את ה-checksum בשני השרתים.
- שחזרו אותו עם
restorepkg. - בדקו את האתר ואת החיבור למסד הנתונים. טבלת MySQL קרסה נראית כמו אתר שבור בלי שום שגיאה מועילה.
- בדקו מייל (SPF, DKIM ו-DMARC), DNS, SSL ומשימות cron.
- שמרו את הארכיון עד שאתם מרוצים מהתוצאה.
שאלות נפוצות
איפה pkgacct שומר את הגיבוי?
אם אתם מעבירים /home כארגומנט האחרון, הוא שומר את הארכיון שם. בלי תיקייה, cPanel משתמש בתיקיית ה-home עם הכי הרבה מקום פנוי.
אפשר לשחזר ארכיון cpmove על שרת cPanel אחר?
כן. בשביל זה בדיוק קיימים הארכיונים של pkgacct. רק תוודאו שבשרת היעד יש מספיק מקום פנוי בדיסק והגדרת cPanel תואמת.
ארכיון cpmove מעביר גם אימות דו-שלבי?
לא. cPanel לא מעביר את הגדרות ה-2FA של החשבון. המשתמש יצטרך להגדיר אותו מחדש בשרת החדש.
צריך לחלץ את הארכיון לפני השחזור?
בדרך כלל, לא. תנו את הארכיון ישירות ל-restorepkg. תחלצו אותו רק כשצריך להציץ בקובץ מסוים או לשחזר חתיכה קטנה של מידע.
מקורות
תגובות
התגובות נשמרות ב-GitHub Discussions (דרך giscus), אז כדי להצטרף לשיחה צריך חשבון GitHub.