Я искал везде, чтобы найти решение ...Я продолжаю получать эту ошибку:

rsync: change_dir "/cygdrive/C/Users/mloch/Desktop/sites/drupalsite1/" failed: Bad file number (9)
rsync: mkdir "/cygdrive/C/Users/mloch/Desktop/sites/drupalsite2" failed: Bad file number (9)
rsync error: error in file IO (code 11) at /usr/src/rsync/rsync-3.0.8/main.c(587) [Receiver=3.0.8]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /usr/src/rsync/rsync-3.0.8/io.c(601) [sender=3.0.8]
Could not rsync from /cygdrive/C/...drupalsite1// to "/cygdrive/C/...drupalsite2//"

Некоторые форумы говорят, что, возможно, rsync не имеет доступа к папке tmp.

2 ответа2

1

Спасибо, Млох, Это единственное решение этой проблемы, которое я нашел после нескольких часов попыток всего остального ...

Чтобы заставить rsync и sql-sync работать на удаленном сервере, использующем Windows (w/Aquia), необходимо внести изменения в 2 файла filesystem.inc и SqlBase.php.

Сначала удалите cygdrive/ из $ path = preg_replace ('/cygdrive/(\w):/', '/$ {1}',> str_replace ('\', '/', $ path)); в строке 61 файла systemystem.inc и измените drush_shell_exec ('gzip -d% s', $ input_file)

вместо

drush_shell_exec ('gunzip% s', $ input_file) в строке 144 файла SqlBase.php

Удачной синхронизации!

Хотя в моем случае все, что мне нужно было сделать, это удалить cygdrive/ в filesystem.inc ...

Казалось, что он работает нормально, не меняя gzip на gunzip.

Теперь должно быть лучшее решение этой проблемы, чем модификация кода drush, но сейчас он решает проблему с помощью rsync / sql-sync.

Для разъяснения другим, эти файлы (скорее всего) находятся в:

  • C:\Program Files (x86)\DevDesktop\drush\vendor\drush\drush\ включает
  • C:\Program Files (x86)\DevDesktop\drush\vendor\drush\drush\ lib\ Drush\ Sql
-2

Чтобы заставить rsync и sql-sync работать на удаленном сервере, использующем Windows (w/Aquia), необходимо внести изменения в 2 файла filesystem.inc и SqlBase.php.

Сначала удалите cygdrive/ из $ path = preg_replace('/cygdrive/(\w):/', '/$ {1}', str_replace('\', '/', $ path)); в строке 61 файла systemystem.inc и измените drush_shell_exec('gzip -d% s', $ input_file)

вместо

drush_shell_exec('gunzip% s', $ input_file) в строке 144 файла SqlBase.php

Удачной синхронизации!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .