السلام عليكم ورحمة الله وبركاته …
أخواني أخواتي الأعزاء …
بعد إنقطاع طويل لي عن الكتابة … أعود لكي أكتب من جديد … اليوم حبيت أن أكتب عن موضوع نسخ البيانات ونقلها من مكان الى آخر بإستخدام ال Secure Copy والي هو scp … طبعا الأمر هذا ليس فقط مفيد لمدراء الخوادم خاصة في سحب النسخ الإحتياطية للمواقع التي لديهم ونقلها من مكان الى آخر … ولكن حتى لك أنت عزيزي القاريء … فلينوكس للجميع
نأتي الحين للمفيد …
أوﻻ ال scp يأتي مع باكيجات ال OpenSSH وغالبا هي موجودة في جميع التوزيعات … مثلها مثل ال ssh … لذلك لا أظن ستجدون صعوبة في التطبيق … سوى إنكم ستحتاجون الى جهاز آخر أو ممكن تعملوه على نفس جهازكم Virtually للتجربة … سأشرح الموضوع على شكل نقاط كل نقطة تعمل لك حاجة … لنفرض لدينا جهاز ولنسميه Server1 ولدينا جهاز آخر موجود على الأي بي IP (ضع بدل كلمة IP في الشرح ال IP المراد نقل البيانات له) …
ملاحظة مهمة جدا: لتفهم الدرس جيدا عليك أن أن تركز على هذه المعطيات:
1- الجهاز Server1 عليه مستخدم أسمه ali …
2- الجهاز IP عليه مستخدم إسمه user1 … هذه ظرورية لتفهم ماذا يحصل … وﻻ تنسى مسألة الصلاحيات … فهي مهمة جدا سواءا للمستخدم ali على Server1 أو للمستخدم user1 على IP …
الخطوة الأولى: النقل من الجهاز والذي أسمه Server1 الى الجهاز الذي أسمه IP … من خلال مستخدم موجود على جهاز IP إسمه ali … تابع التالي:
1- لنقل ملف بحيث تضع الملف في مجلد ال Home الخاص بالمستخدم ali تعمل ما يلي:
scp filename ali@IP:.
طبعا بإمكانك إستعمال بدل IP الى أسم الجهاز لو كان Routable أي الأسم ممكن تعمل له Resolving …
2- الحين لنقل مجلد عليك أوﻻ أن تعمل التالي:
cd /gotoDirthatContainsDir
أي تذهب الى المجلد الذي يحوي المجلد المراد إرساله … وبعد ذلك تنفذ التالي:
scp -r folder ali@IP:.
ﻻ تنسى هذا سينقل المجلد الى المجلد Home الخاص بالمستخدم ali ويضعه هناك …
الخطوة الثانية: الحين النقل من IP الى Server1 وأنت بداخل Server1 وليس IP … أوﻻ عليك أن تعرف المسار الصحيح للملفات أو المجلدات التي سنقوم بنقلها … بعد ذلك عليك تحديد النقل سيتم بصلاحيات من ؟ هنا سنقوم بذلك بواسطة المستخدم user1 والموجود على IP … عليك بما يلي:
3- لنقل ملف عليك بما يلي:
scp user1@IP:filename .
هذا سيقوم بنقل الملف filename الى المكان الذي أنت واقف عليه داخل Server1… لو تريد الى مكان معيين مجرد أعمل التالي:
scp user1@IP:filename /home/ali/Desktop
مثلا … أو الى أي مكان آخر مجرد حدد المسار لذلك المكان …
4- الحين لنقل مجلد عليك القيام بما يلي:
scp -r user1@IP:folder .
هذا سينقل المجلد الذي أسمه folder الى المكان الذي أنت واقف عليه داخل Server1… لو تريد الى مكان معيين مجرد أعمل التالي:
scp -r user1@IP:folder /home/ali/Desktop
مثلا … أو الى أي مكان آخر مجرد حدد المسار لذلك المكان ..
الخطوة الثالثة: النقل من مسار معيين من على جهاز Server1 الى IP وأنت داخل في IP أي Logged in الجهاز IP … بواسطة صلاحيات المستخدم ali … الموجود بالطبع على Server1 للتذكير فقط … عليك بالتالي:
5- لنقل ملف في المسار /home/ali/ وأسمه filename الى المكان الذي تقف فيه … أعمل ما يلي:
scp ali@Server1:/home/ali/filename .
حيث ال . ستقوم بالنسخ الى المكان الذي أنت فيه … بدلها بمسار لو تريد النسخ الى مسار معيين … مثلا:
scp ali@Server1:/home/ali/filename /home/user1/Desktop
6- لنقل مجلد من المسار /home/ali/
ولنفرض أسم المجلد books الى المكان الذي تقف فيه … أعمل ما يلي:
scp -r ali@Server1:/home/ali/books .
حيث ال . ستقوم بالنسخ الى المكان الذي أنت فيه … بدلها بمسار لو تريد النسخ الى مسار معيين … مثلا:
scp -r ali@Server1:/home/ali/books /home/user1/backups
أرجوا أن أكون وفقت في الشرح … وأن ﻻ أكون خربطت في شيء … لأنه فعلا المسألة تخربط لو لا تركز على الصلاحيات وأين أنت بالتحديد والى أين تريد النسخ … لذلك ياريت تصححوا لي لو هناك شيء … وياريت الي عنده إضافة يضيف … والي عنده سؤال يسأل
أخوكم B!n@ry …