Помилка rsync: неправильний номер файлу (9)


0

Я шукав всюди, щоб знайти рішення ... Я продовжую отримувати цю помилку:

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.


Можливо,
дубль

Відповіді:


1

Дякую, молочко, це єдине рішення цієї проблеми, яку я знайшов через години та години спроб всього іншого ...

Щоб заставити rsync та sql-синхронізацію працювати на віддаленому сервері за допомогою 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'.

Тепер має бути кращим рішенням цієї проблеми, ніж зміна коду друша, але наразі це вирішує проблему з rsync / sql-sync.

Для уточнення для інших, ці файли (швидше за все) знайдено в:

  • C: \ Файли програм (x86) \ DevDesktop \ drush \ vendor \ drush \ drush \ включає
  • C: \ Файли програми (x86) \ DevDesktop \ drush \ vendor \ drush \ drush \ lib \ Drush \ Sql

Я радий, що це допомогло! Чи працював ваш sql-синхронізацію, не змінюючи gunzip?
mloch

У мене не було жодних проблем із sql-синхронізацією (або rsync) із залишенням gzip / gunzip таким, яким він є. Що дивно, тому що, згідно з оригінальним кодом, він виглядає так, ніби він повинен бути пістолетом if (drush_shell_exec('gzip -d %s', $input_file)) { $input_file = trim($input_file, '.gz'); } else { return drush_set_error(dt('Failed to decompress input file.')); } ... Що б не було ... якщо ця частина не
зламається

Дотримуючись вищезгаданого, я закінчую помилкою коду 0: ssh -i privatekey.ppk user@Site.dd "env КОЛІН = 177 drush --backend = 2 - вербоза --strict = 0 --root = / home / User / Site.dd [notice] --uri = Site.dd sql-query --file = / tmp / DB_20170214_163301.sql.gz --file-delete 2> & 1 "2> & 1 X-Powered-By: PHP / 5.6.27 Тип вмісту: text / html; charset = UTF-8 [помилка] Тип вмісту: text / html; charset = UTF-8, код: 0) Команда відправлення завершена [повідомлення]
Marcel Cozma

-2

Щоб заставити rsync та sql-синхронізацію працювати на віддаленому сервері за допомогою 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

Щасливі синхронізації!


"Я закінчу пізніше" не дає відповіді.
DavidPostill

Дякую, Дейв, приємно знати, що хтось ще дивиться на це питання ... Мені потрібно повернутися на свій ноутбук, щоб закінчити точну відповідь, що вирішити проблему для мене ще не встигли, але краще тоді нічого не налаштовувати на людей правильний напрямок. Першу частину я зрозумів сам, а другу зайняв тривалий час пошуку (майже випадково) ... Якщо вам це потрібно відчайдушно, я можу швидше
встати

Насправді, дякую, я можу видалити пост і дати йому новий заголовок, оскільки це менша проблема більшої
mloch
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.