−25%

على الدفع السنوي لـ Windows حتى 31 أكتوبر. عرض الخطط

EQVPS

كيف تنقل الملفات إلى VPS: ‏scp وrsync وSFTP

انسخ الملفات من الخادم وإليه باستخدام scp، وزامن المجلدات الكبيرة بـ rsync مع إمكانية الاستئناف، أو استخدم عميل SFTP، حتى على NAT بمنفذ SSH شخصي.

عاجلًا أم آجلًا يجب أن تصل الملفات إلى الخادم: بناء موقع، تفريغ قاعدة بيانات، ملف إعداد كتبته محليًا. لا تحتاج خادم FTP لذلك: ‏SSH يوفّر أصلًا ثلاث أدوات جيدة. كل الأمثلة تستخدم عناوين من التوثيق؛ استبدلها بعنوان خادمك.

اعرف بيانات الاتصال

‏scp: انسخ ملفًا أو مجلدًا

ارفع ملفًا:

scp backup.sql root@203.0.113.10:/root/

نزّل ملفًا:

scp root@203.0.113.10:/var/log/nginx/access.log .

مجلد كامل:

scp -r ./site root@203.0.113.10:/var/www/

على خطة NAT أضف المنفذ باستخدام -P الكبيرة:

scp -P 20123 backup.sql root@your-nat-host:/root/

‏rsync: الأداة الصحيحة للمجلدات

يرسل rsync الفروق فقط، ويعرض التقدم، ويستأنف إن انقطع الاتصال. يجب أن يكون مثبّتًا على الطرفين (apt install -y rsync).

rsync -avzP ./site/ root@203.0.113.10:/var/www/site/

مع منفذ SSH مخصّص:

rsync -avzP -e "ssh -p 20123" ./site/ root@your-nat-host:/var/www/site/

لجعل الوجهة نسخة مطابقة تمامًا (بحذف الملفات التي حذفتها محليًا)، أضف --delete، لكن تحقق أولًا مما سيفعله:

rsync -avzP --delete --dry-run ./site/ root@203.0.113.10:/var/www/site/

انتبه إلى الشرطة المائلة في النهاية. ‏./site/ ينسخ محتويات site؛ و./site ينسخ المجلد نفسه إلى داخل الوجهة. مع --delete هذا الفرق هو ما يحدد أي مجلد سيُفرَغ.

‏SFTP: تفاعلي أو رسومي

عميل سطر الأوامر يعمل كمدير ملفات صغير:

sftp -P 20123 root@your-nat-host
sftp> put backup.sql
sftp> get /etc/nginx/nginx.conf
sftp> exit

تفضّل واجهة رسومية؟ ‏FileZilla أو WinSCP أو Cyberduck تتصل بالبيانات نفسها: بروتوكول SFTP، ومضيفك، والمنفذ 22 (أو منفذ NAT الخاص بك)، والمستخدم root، ومفتاح SSH أو كلمة المرور.

أسرع مع مفاتيح SSH

كل هذه الأدوات تستخدم SSH، لذا فإن مفتاح SSH يوقف طلبات كلمة المرور ويتيح لك أتمتة عمليات النقل من cron. إن لم تفعل ذلك بعد: ‏المصادقة بمفاتيح SSH. خوادم EQVPS الجديدة تقبل كلمة مرور root من اللوحة حتى تنتقل إلى المفاتيح، ونوصي بفعل ذلك في اليوم الأول.

عمليات النقل الكبيرة

لعشرات الغيغابايتات، ‏rsync هو الخيار المعقول الوحيد: إن انقطع الاتصال، شغّل الأمر نفسه مجددًا وسيكمل من حيث توقف. شغّله داخل tmux أو screen على الجهاز المُرسِل، حتى لا يتوقف إن أغلقت حاسوبك المحمول.

ذو صلة

الأسئلة الشائعة

ما الفرق بين scp وrsync؟

‏scp ينسخ كل شيء في كل مرة. أما rsync فيقارن الطرفين ويرسل ما تغيّر فقط، ويستطيع استئناف عمليات النقل المتوقفة، ويعكس مجلدًا بدقة. لملف واحد يكفي scp؛ وللمجلدات التي تزامنها بانتظام استخدم rsync.

كيف أستخدم منفذ SSH غير قياسي؟

‏scp وsftp يستخدمان -P الكبيرة (scp -P 20123)، وssh يستخدم -p الصغيرة، وrsync يأخذه هكذا: rsync -e 'ssh -p 20123'. على خطط NAT في EQVPS يظهر منفذ SSH الشخصي في اللوحة.

هل يمكنني استخدام عميل رسومي؟

نعم. أي عميل SFTP ‏(FileZilla وWinSCP وCyberduck) يتصل بالمضيف والمنفذ والمستخدم ومفتاح SSH أو كلمة المرور نفسها التي تستخدمها لـ SSH. اختر بروتوكول SFTP، لا FTP.

هل يعمل هذا من Windows؟

‏Windows 10 و11 يتضمنان OpenSSH، لذا يعمل scp وsftp في PowerShell تمامًا كما هنا. ‏rsync غير مضمّن؛ استخدمه من WSL أو استخدم ميزة المزامنة في WinSCP.

ماذا تعني الشرطة المائلة في النهاية مع rsync؟

‏'rsync -a site/ dest/' ينسخ محتويات site إلى داخل dest. أما 'rsync -a site dest/' فينشئ dest/site. مع --delete قد يؤدي الخطأ هنا إلى إفراغ المجلد الخطأ، لذا شغّل الأمر أولًا مع --dry-run.

التعليقات

لا تعليقات بعد. كن الأول.

اترك تعليقًا

تُراجَع التعليقات قبل ظهورها.