Как подключиться к PostgreSQL 9 из Drupal 7?

Вы использовали "${CMD}" внутри двойной кавычки, поэтому в результате расширения $CMD не было выполнено разделение полей (а также расширение имени файла), вся строка /usr/bin/find /etc -type f -exec /usr/bin/md5sum {} \; рассматривается как команда для выполнения. Такой команды не существует, поэтому shell сообщает об ошибке No such file or directory.

Поскольку вы используете bash, лучше использовать массив:

$ CMD=( /usr/bin/find /etc -type f -exec /usr/bin/md5sum {} \; )
$ "${CMD[@]}"

или POSIXly, используйте "$@":

$ set -- /usr/bin/find /etc -type f -exec /usr/bin/md5sum {} \;
$ "$@"

В первом случае вы можете использовать $CMD без двойной кавычки, но это не рекомендуется и может привести к ошибке. По крайней мере, вам нужно установить -f перед запуском $CMD.

0
10.05.2015, 10:26
2 ответа

ssh предоставляет подключенный поток из локальной системы, на которой выполняется rsync , в другой экземпляр, запущенный на удаленном сервере. Локальный rsync запускает его как часть процесса подключения ssh - это не тот же экземпляр rsync , который может выполняться как демон на этом удаленном сервере.


Что такое ssh stream ?

ssh stream - это то, что используется при ssh в удаленной системе. Возможно, вы предпочтете назвать его ssh сеансом . Хорошо. Например, ssh snow@grumpy.example.net соединит вас с этой удаленной системой и даст вам интерактивный сеанс. Все, что вы ввели локально, будет приниматься и действовать удаленно, и все, что создано удаленно, будет представлено вам локально.

Аналогично, ssh -t snow@doc.example.net vi/etc/hosts установит соединение для запуска vi/etc/hosts в удаленной системе, как если бы вы использовали его локально. (Флаг -t указывает ssh на то, что удаленная команда vi выполняется на псевдотерминале; в противном случае он пропустит этот уровень сложности.)

Теперь для rsync подключение устанавливается локальным экземпляром с помощью чего-то вроде ssh snow@bashful.example.net rsync --server -nlogDtpre.iLsf {local_path} {remote_path}. Это позволяет локальному rsync взаимодействовать с удаленным rsync по соединению так же, как для доступа к тому же удаленному серверу. Удаленный экземпляр rsync знает, что он является сервером, из-за флагов, которые он был предоставлен при запуске локальным экземпляром.

Вы можете увидеть, как rsync был вызван удаленно, запустив что-то вроде ssh snow@dopey.example.net 'ps -ef | grep [r] sync' во время выполнения rsync .

Почему бы просто не rsync говорить напрямую без ssh ?

Преимущество использования ssh в двух случаях

  1. Это хорошо известный протокол, и механизмы аутентификации и входа в удаленную систему хорошо понятны (тем, кто должен ее понимать) и доверены
  2. Он обеспечивает защищенный и зашифрованный канал, по которому любой Без этого уровня rsync придется либо реализовать собственное шифрование, либо игнорировать проблему. И то и другое опасно в современном мире, подключенном к Интернету.
-121--53507-
Host *
    IdentityFile ~/.ssh/my_key_rsa.pub

Здесь указан неверный файл ключа. Необходимо указать файл закрытого ключа , а не файл открытого ключа . Файл закрытого ключа - это файл без расширения .pub :

Host *
    IdentityFile ~/.ssh/my_key_rsa
-121--289883-

Прочитав заголовок этого вопроса, я подумал, что речь идет о «Как подключиться с сайта Drupal к какой-то внешней базе данных в формате PostGress».Однако подробности вопроса о том, как использовать Postgress в качестве СУБД для размещения базы данных, необходимой для сайта Drupal. Попробуйте перефразировать заголовок вопроса соответствующим образом.

Чтобы ответить на этот вопрос, ознакомьтесь с Install Drupal with PostgreSQL . Вот цитата из этой ссылки:

Drupal - отличная система управления содержанием PHP. Он поддерживает MySQL и PostgreSQL как бэкэнд-базу данных для управления контентом. К сожалению, PostgreSQL не хватает в отделе документации: он даже не упоминается в файле Drupal INSTALL.txt. Так что здесь мы делаем нашу небольшую часть для причины и предоставить некоторые инструкции, чтобы Drupal вверх и работать с PostgreSQL.

-1
29.04.2021, 00:30

Основная проблема заключается в том, что вы выбрали MySQL в качестве типа базы данных. (Это видно из размещенного вами изображения.) ПРОЧИТАЙТЕ Руководство по установке и действуйте в соответствии с ним. Вот для чего он нужен.

1
29.04.2021, 00:30

Теги

Похожие вопросы