السلام عليكم ورحمة الله وبركاتة
اليوم معايا برنامج من أهم البرامج على نظام اللينوكس و فكرت أن أضعة هنا و لا أضعة فى قسم الشبكات لأنه تابع لنظام اللينوكس فقط و مخبيش عليكم أنا عرفت البرنامج من أصدقائى ظاظا و جرجير .
و كان ده الحوار بينهم ....
ظاظا : أكيد فى يوم من الأيام واجهت أو ستواجه نقل ملفات من سيرفر إلى أخر فهل واجهت هذا الموقف ؟
جرجير : انت عارف يا ظاظا إنى عبقرى و أعرف فى كل حاجة بس أحكى خلينا نتسلى شويه
ظاظا : ماشى يا عم جرجير ما انت أبو المفهومية و نقول إذا كنت واجهت هذا الموقف و لم تعرف كيف تنقل ملفاتك فقم بنقلها ببرنامج rsync ده إذا كنت متعرفش يا جرجير ولا حاجة :D
جرجير : لا إزاى أعرف طبعاً بس إيه هو برنامج rsync ؟
ظاظا : هو برنامج تابع لـ samba يمكنك من نقل ملفات من سيرفر إلى سيرفر أخر.
جرجير : ما هى المتطلبات للتعامل معه ؟
ظاظا : أولاً إذا كنت تمتلك Dedicated Server فلا بد من إعداده أولاً.
جرجير : و من أين يمكننى أن أحصل عليه ؟
ظاظا : يمكنك تحميله من هذا الموقع http://rsync.samba.org/
جرجير : بالطبع سأعده على السيرفر الجديد.
ظاظا : يمكنك أن تعده على القديم أيضاً ولا يشترط أن تعده على السيرفر الجديد فقط .
جرجير : و إذا لم أمتلك Dedicated Server بل أمتلك Shared Host و كنت أريد أن أنقل موقعى إلى شركة إستضافة أخرى فماذا أفعل حتى أتعامل مع هذا البرنامج ؟
ظاظا : فى هذة الحالة يجب أن يكون هذا البرنامج معد على السيرفر الجديد كما يجب أن يكون SSH معد أيضاً حتى تستطيع التعامل مع البرنامج .
جرجير : و ماذا أفعل إذا لم يتوفر SSH ؟
ظاظا : فى هذة الحالة ممكن أن تتعامل مع البرنامج و تنفذة بواسطة صفحة PHP على سبيل المثال و ذلك بإستخدام الدالة exec و لكن يجب أن يكون السيرفر لا يعمل فى وضع Safe Mod .
جرجير : و ماذا أفعل إذا كان يعمل فى وضع Safe Mod ؟
ظاظا : و قتها يجب أن تبحث عن طريقة ثانية لنقل ملفاتك أو تقوم بتغيير الإستضافة الجديده :D .
جرجير : حسنا و إذا توفر SSH فمن أين أتعامل معه حتى من خلاله أستطيع أن أتعامل مع برنامج rsync ؟
ظاظا : يجب أن تعد أحدى البرامج التى تتعامل مع SSH ؟
جرجير : ما هو البرنامج الذى تنصحنى به ؟
ظاظا : أنصحك ببرنامج PuTTY فهو سريع جداً و يعمل تحت الوندوز و اللينكس و يمكنك تحميلة من هنا
http://www.chiark.greenend.org.uk/~sgtatha...y/download.html
جرجير : ما الذى سأستفيده من برنامج PuTTY أو من SSH عموماً ؟
ظاظا : بالدخول بواسطة SSH مستخدماً برنامج PuTTY فسوف تحصل على نافذة Terminal للتعامل مع السيرفر كأنك تعمل على اللينوكس المعد على جهازك الشخصى ؟
جرجير : أرى أننى سأحول الموضوع لبرنامج أخر لذلك سأعود لبرنامج rsync و أسألك كيف أتعامل معه ؟
ظاظا : تتعامل معه مثل تعاملك مع أى برنامج يعمل فى نافذة Terminal بالتحديد مثل البرنامج cp لنسخ الملفات (هناك البعض يطلقون على هذة البرامج اسم أوامر) فلنسخ ملف يجب تحديد المصدر (مسار الملف) و الهدف (مسار المجلد) الذى سيتم النسخ إليه ولكن هنا نحتاج إخبارة بإسم المستخدم للسيرفر الأخر.
جرجير : كيف هذا ؟
ظاظا : هكذا
rsync -rvz $user@$host:/home/$user/public_html/$filename ./
فبدل $user ضع اسم المستخدم الذى تملكة على السيرفر القديم و $host ضع مكانها إسم النطاق Domain أو IP و $filename ضع مكانها إسم الملف و طبعاً المسار بالكامل ممكن أن يتغير فهذا على سبيل المثال ثم بعد ذلك تضغط على Enter و تدخل كلمة المرور لبدء العمل.
جرجير : أين سيتم حفظ الملف ؟
ظاظا : فى المسار الذى تقف عليه فى السيرفر الجديد وذلك لأننا كتبنا فى الهدف ./
جرجير : و ماذا أفعل إذا كنت أريد أن أرسل الملف ولا أستقبلة ؟
ظاظا : فى هذة الحالة قم بعكس المصدر و الهدف مثل
rsync -rvz ./$filename $user@$host:/home/$user/public_html/
جرجير : هذا جميل و لكن أرى أنك أستخدمت بعض Options و هى -rvz ؟
ظاظا : كما ذكرت أن هذا البرنامج مثل باقى البرامج فأكيد له بعض Options فعلى سبيل المثال -z تقوم بعمل ضغط للبيانات أثناء عملية النقل.
جرجير : هل يوجد قائمة بكل Options المستخدمة و المتاحة مع هذا البرنامج؟
ظاظا : بالطبع موقع البرنامج يوجد به مرجع كامل له و يمكنك الإطلاع عليه من هنا
http://rsync.samba.org/ftp/rsync/rsync.html
و توته توته فرغت الحدوته و أوعدكم بحكاية جديدة من حكايات ظاظا و جرجير

