الحفاظ على دليل بعيد “محدثاً”: دليل لمستخدمي لينوكس وماك أو إس
في بيئة التطوير السريعة اليوم، يعد الحصول على دليل بعيد محدث أمراً حاسماً لكتابة الأكواد واختبارها بكفاءة. العديد من المطورين على دراية بميزة “الحفاظ على دليل بعيد محدث” في WinSCP، التي تقوم بمزامنة الدلائل المحلية بسلاسة مع الخوادم البعيدة. ومع ذلك، غالباً ما يواجه مستخدمو ماك أو إس ولينوكس صعوبات في العثور على حلول مشابهة وسهلة. لحسن الحظ، هناك طريقة لتحقيق ذلك باستخدام الأمر القوي “rsync”.
التحدي
قد تجد أنه بينما يمكنك مزامنة الملفات يدوياً باستخدام أدوات مختلفة، فإن الحل الزمني الحقيقي مثل WinSCP غير متاح على ماك أو إس أو لينوكس. يمكن أن تعيق هذه المشكلة تدفق العمل الخاص بك، خاصة عندما تقوم بإجراء تغييرات على دليلك المحلي وتريد أن تنعكس هذه التغييرات في الخادم البعيد على الفور.
الحل: استخدام “rsync”
الخبر السار هو أن “rsync” هو أداة قوية سطر الأوامر تتيح لك مزامنة الدلائل بكفاءة. على الرغم من أنه قد لا يوفر المزامنة الزمنية الحقيقية بشكل افتراضي، يمكنك جدولة تشغيله بشكل متكرر باستخدام مهام cron. إليك كيفية البدء.
الخطوة 1: تثبيت “rsync”
تأتي معظم توزيعات لينوكس وماك أو إس مع “rsync” مثبت مسبقاً. يمكنك التحقق مما إذا كان متاحاً على نظامك بفتح طرفية وكتابة:
rsync --version
إذا لم يكن مثبتاً، يمكنك الحصول عليه بسهولة من مدير الحزم الخاص بك، على سبيل المثال:
- لأوبونتو/لينوكس مينت:
sudo apt-get install rsync
- لماك أو إس:
brew install rsync
(باستخدام Homebrew)
الخطوة 2: إنشاء سكريبت Bash
يمكنك إنشاء سكريبت bash بسيط لتنفيذ عملية “rsync” تلقائيًا. اتبع هذه الخطوات:
-
افتح طرفيتك وأنشئ ملف سكريبت جديد:
nano sync_remote.sh
-
أضف الأسطر التالية إلى السكريبت:
#!/bin/sh rsync -avrz --progress --exclude-from .rsync_exclude_remote . remote_login@remote_computer:remote_dir
-
احفظ الملف واخرج.
يستخدم هذا السكريبت الخيارات التالية:
-a
: وضع الأرشيف (يحافظ على الأذونات، إلخ).-v
: إخراج تفصيلي لرؤية ما يحدث.-r
: نسخ الدلائل بشكل تكراري.-z
: ضغط الملفات أثناء النقل.
الخطوة 3: جعل السكريبت قابلاً للتنفيذ
تأكد من أن سكريبتك قابل للتنفيذ عن طريق تشغيل الأمر:
chmod +x sync_remote.sh
الخطوة 4: إعداد مهمة cron
لجعل المزامنة تحدث تلقائيًا، قم بإعداد مهمة cron لتشغيل سكريبتك على فترات محددة.
-
افتح ملف تكوين crontab:
crontab -e
-
أضف سطرًا لجدولة سكريبتك. على سبيل المثال، لتشغيل السكريبت كل دقيقة، أضف:
* * * * * /path/to/sync_remote.sh
استبدل /path/to/
بالمسار الفعلي حيث يقع السكريبت الخاص بك.
الخطوة 5: اختبار الإعداد
قبل أن تترك مهمة cron تعمل، من الحكمة اختبار السكريبت الخاص بك. استخدم الخيار -n
لإجراء تجربة جافة:
rsync -avrz --progress --dry-run --exclude-from .rsync_exclude_remote . remote_login@remote_computer:remote_dir
سيعطيك هذا نظرة عامة عن الملفات التي سيتم مزامنتها.
ملاحظات نهائية
على الرغم من أن هذا الحل لن يوفر مزامنة زمنية حقيقية، فإنه سيمكنك من الحفاظ على دليل بعيد محدث بأقل جهد. تذكر أن “rsync” له بعض القيود، مثل التوافق مع أسماء الملفات unicode (اعتبارًا من أغسطس 2008)، لذا احرص على ذلك عند التعامل مع أسماء الملفات.
من خلال اتباع هذه الخطوات البسيطة، يمكنك إعداد عملية مزامنة فعالة بين دلائلك المحلية والبعيدة، مما يجعل عملية التطوير لديك أكثر سلاسة وفعالية.
نتمنى لك مزامنة سعيدة!