سؤال

لقد كتبت بيثون السيناريو الذي يستخدم subprocess الاتصال كيكر لمزامنة ملفات السجل من مضيف بعيد.

مثل ذلك:

program = 'Robocopy'
options = ['/S']
args.append(program)
args.append(options)
args.append('\\\\%s\%s' % (hostname, source_path))
args.append(local_path)
proc = subprocess.Popen(args=args, shell=True, stdout=cmd_log, stderr=error_log) 

حيث source_path هو المسار على المضيف البعيد و local_path هو المسار على المضيف المحلي (سواء مسارات UNC).الكود يعمل عادة في عملية الخفي ويحصل انطلقت كل بضع ساعات.ومن الممكن أيضا أن يعمل هذا الكود مباشرة على موجه الأوامر.يبدو أنه في بعض الأحيان عندما يكون قيد التشغيل في عملية الخفي أحصل على خطأ من كيكر:

رمز الخطأ 6:'مقبض غير صالح'

ولكن عند تشغيل هذا على موجه الأوامر أحصل على أي أخطاء.من ما وجدته في البحث على شبكة الإنترنت قد تكون ذات صلة إلى مؤشرات الملفات التي هي بالفعل مفتوحة على الملفات التي يتم نقلها.هل من أحد لديه معلومات أكثر عن هذا الخطأ و طرق لتجنب ذلك ؟

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

المحلول

جوجل بالبحث عن "كيكر مقبض غير صالح" تشير إلى أنك قد تجد النجاح باستخدام الخيار /b أجل "وضع النسخ الاحتياطي".

حتى إذا كان هذا لا يعمل, أقترح إضافة رمز إلى إخراج أسماء الملفات كما هي نسخ (أو سجل) ، و مرة كنت قد حددت محددة الفشل في الملف ، قد ندرك أيضا ما هي المشكلة.

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