سؤال

سطر الأوامر SFTP في Ubuntu الخاص بي لا يتم تنفيذ متكررة. لقد وجدت بعض النقاش من عام 2004 حول تنفيذ هذه الميزة مع مفتاح الخيار -r. لذلك أرى نوعًا من العودية التي عصاً كخيار فقط.

بمعنى آخر.

  • تكرار من خلال قائمة الدليل
  • قرص مضغوط في الدلائل
  • mkdir لهم إذا لم يكن موجودا
  • ضع الملفات

أخطط للقيام بذلك مع باش ، لكن أي لغة أخرى تكفي.

RSYNC أو SCP ليس خيارًا لأنني لا أتمكن من الوصول إلى الخادم. فقط SFTP.

هل كانت مفيدة؟

المحلول

ينظر الى LFTP. إنه عميل قوي لنقل الملفات يدعم FTP و FTPs و HTTP و HTTPS و HFTP و FISH (نقل الملفات عبر SSH الصدف جلسة) و SFTP. يحتوي على واجهة تفاعلية تشبه FTP ، ولكنها تسمح أيضًا بتحديد جميع الأوامر في سطر الأوامر. ينظر الى mput (غير متكررة ولكن يتولى أنماط الكرة الأرضية) و mirror (الفقراء الرجل rsync) أوامر.

أستخدمه مع خادم يتولى فقط تحميلات SFTP مثل هذا:

lftp -c "open -u $MYUSER,$MYPASSWORD sftp://$TARGET ; mirror -R $SOME_DIRECTORY"

نصائح أخرى

يدعم FileZilla Client Filezilla GUI FTP أيضًا SFTP ويدعم أيضًا التحميل والتنزيل أثناء الدلائل.

على الرغم من أنني أعتقد أن LFTP هو الخيار الأفضل إذا كان متاحًا ، فقد تعثرت على تثبيت قديم لنظام التشغيل Cent وأحتاج إلى عمل متكرر عبر SFTP فقط. هذا ما فعلته:

find dir -type d -exec echo 'mkdir {}' \; | sftp user@host
find dir -type f -exec echo 'put {} {}' \; | sftp user@host

لذلك تأكد بشكل أساسي من وجود جميع الدلائل ثم إرسال الملفات.

يأتي Ubuntu 12.04 مع put -r في SFTP

على سطر الأوامر ، يمكنك القيام بذلك باستخدام أدوات المعجون صفقة. يأتي مع استبدال SFTP يسمى psftp.

انه يدعم mput -r الذي ينسخ دليلًا محليًا إلى جهاز التحكم عن بُعد بشكل متكرر.

أعتقد أنه يمكنك القيام بذلك مع Bash لكن سيكون هناك الكثير من العمل. بدلاً من ذلك ، أقترح إلقاء نظرة على بيثون ومكتبة شيلكات.

في جافا ، يمكنك استخدام EDTFTPJ/PRO, ، منتجنا التجاري ، لنقل متكرر عبر SFTP. بدلاً من ذلك ، قد ترغب في التفكير في SCP - التي تدعم عمومًا العودية وتمر عبر SSH.

ماذا عن SSHFS?

مجتمعة ، بالطبع ، مع cp -r.

أو فشل ذلك ، rsync -r بنفسها.

بعد الكثير من googling والإجابات الجيدة ، استخدمت مزامنة النقل لهذا المنصب. ليس حلًا جيدًا جدًا ، ولكنه يقوم بالمهمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top