האמת היא שהפוסט הזה נולד משיקולי נוחות בלבד. כחלק מהעבודה שלי מול שרת פיתוח ושרת דיפלוימנט או אינטגרציה ששניהם מבוססים על לינוקס, אני נאלץ לכווץ קבצים ואז לשלוח אותם על גבי SSH לשרת דיפלוימנט. אני פשוט צריך מקום להעתיק ממנו את פקודות הכיווץ, השליחה והפתיחה הנפוצות והגנריות שבהן אני משתמש כדי להעביר קבצים משרת הפיתוח לשרת הדיפלוימנט.
כמה מושגים בסיסיים:
מחשב פיתוח – המחשב שעליו יושב ה-IDE ועליו אנחנו עובדים בפועל. ברוב הפעמים הוא מבוסס חלונות (בכל זאת צריך לבדוק איך הכל לא עובד באינטרנט אקספלורר….).
שרת פיתוח – שרת מקומי, שפתוח לרשת הפנימית ועליו נמצאים קבצי האפליקציה ומסדי הנתונים. הנתונים שלו (בשאיפה) זהים לשרת הדיפלוימנט. השרת מבוסס על מערכת לינוקס מסוג debian או fedora.
שרת דיפלוימנט – שרת לא מקומי שפתוח לאינטרנט ועליו נמצאים קבצי האפליקציה ומסדי הנתונים של האפליקציה העובדת.
כל הפקודות האלו מוזנות לטרמינל של מחשב הפיתוח. אליו אני מחובר בדרך כלל באמצעות Xming או PuTTY, אבל אפשר באופן עקרוני לחבר מוניטור ומקלדת לשרת הפיתוח ולהזין את זה בעצמי.
העברת קובץ בודד ממחשב הפיתוח אל שרת הדיפלוימנט
העברת קבצים בודדים (כאשר אני מבצע hotfix) אני מבצע באמצעות תוכנת winscp ממחשב הפיתוח (שבדרך כלל מבוסס חלונות) אל שרת הדיפלוימנט. אם מחשב הפיתוח מבוסס על לינוקס, ניתן להשתמש ב-gftp.
כיווץ של תיקיה מסוימת
על מנת לכווץ תיקיה מסוימת אנו משתמשים ב:
tar -czf YOURFILENAME.tar.gz YOURDIRECTORY/*
כאשר YOURFILENAME הוא שם הקובץ שיווצר ו-YOURDIRECTORY זה התיקיה שאנו רוצים לכווץ.
העברת קובץ לשרת מרוחק
לאחר שכיווצתי את התיקיה, אני רוצה להעביר אותה למקום מרוחק. את זה עושים עם הפקודה הבאה:
scp foobar.txt [email protected]:/some/remote/directory
כאשר צריך להחליף את שם הקובץ, שם המשתמש והכתובת של שרת הדיפלוימנט. דוגמאות נוספות ל-scp נמצאות ב-hypexr.
הוצאת הקבצים מכיווץ
לאחר מכן אנו מתחברים באמצעות SSH לשרת המרוחק. נכנסים לתיקיה אליה העתקנו את הקובץ ואז:
tar -zxf YOURFILENAME.tar.gz
ו… זהו! התיקיה נפתחת. אפשר להתחיל לעבוד.