Код ошибки Robocopy 6: «Дескриптор недействителен»

StackOverflow https://stackoverflow.com/questions/1928855

  •  20-09-2019
  •  | 
  •  

Вопрос

Я написал скрипт Python, который использует подпроцесс для вызова robocopy для синхронизации файлов журналов с удаленного хоста.

Вот так:

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).Код обычно выполняется в процессе демона и запускается каждые несколько часов.Также возможно запустить этот код непосредственно в командной строке.Похоже, что иногда, когда он работает в процессе демона, я получаю сообщение об ошибке от Robocopy:

Код ошибки 6:«Дескриптор недействителен»

Но когда я запускаю это в командной строке, я не получаю ошибок.Судя по тому, что я нашел при поиске в Интернете, это может быть связано с дескрипторами файлов, которые уже открыты в передаваемых файлах.Есть ли у кого-нибудь дополнительная информация об этой ошибке и способах ее избежать?

Это было полезно?

Решение

Гугл ищет «дескриптор робокопии недействителен» предполагают, что вы можете добиться успеха, используя параметр /b для «режима резервного копирования».

Даже если это не сработает, я бы предложил добавить код для вывода имен файлов по мере их копирования (или регистрации), и как только вы идентифицируете конкретный файл с ошибкой, вы вполне можете понять, в чем проблема.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top