Как я выполняю SSH к своему веб-серверу с помощью PHP?

Я - большой поклонник простых решений, которые не требуют, чтобы слишком много дополнительного оборудования функционировало. Мне нравятся сильные двери, сильные блокировки и крупные, пугающие парни безопасности по имени 'Larry', который может место размещения нажимать весь штат IT.

Блокировки действительно имеют проблему, что многие производители блокировки находятся в отказе о том, как легкий их продукты должны выбрать прямо сейчас, но это - то, где Larry входит - Вы не можете использовать lockpick, когда Larry вокруг, потому что он превратит Вас в крендель с солью.

Далее, если число людей, которые входят и из специальной двери, будет небольшим, то Larry будет учиться распознавать их. И когда кто-то, кто обычно не проходит ту дверь подходы, Larry, спросит их, что они делают. И если у них нет хорошего объяснения их присутствия, ну, в общем, это - время кренделя с солью снова!

У Larry действительно есть оборотная сторона того, чтобы быть продолжающимся расходом для Вашей организации, но если Вам действительно нужна та защищенная дверь, затем Larry может быть действительно большим фактором той защиты.

0
задан 23 August 2010 в 07:13
7 ответов

[РЕДАКТИРОВАНИЕ] По разъяснению OP, вот то, что можно сделать для прямого ввода команды в задании крона:

 /usr/local/mysql/bin/mysqldump -uUSER -pPASSWORD --opt DatabaseName > /path/to/directory/filename.sql 

Отметьте, нет никакого пространства между-p и ПАРОЛЕМ, или-u и ПОЛЬЗОВАТЕЛЬ - заменяют ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ с корректным именем пользователя базы данных и пароль. Кроме того, измените имя DatabaseName к Вашему имени базы данных.

Старый ответ:
Если бы Вы не довольны SSH, я советовал бы Вам НЕ использовать команды оболочки, потому что немного ошибки может создать большие проблемы. Вместо этого используйте базирующиеся утилиты управления MySQL нормального PHP как:

1) PHPMyAdmin
2) Adminer

Кроме того, доступу SSH обычно не предоставляют на Общих Хостинг-серверах.

1
ответ дан 4 December 2019 в 13:04

Вы могли выполнить команды как этот с функцией PHP passthru ():

<?php
passthru("mysqldump --tab=/path/to/some/dir --opt db_name");
?>

Должностное лицо функций и система работали бы также.

http://php.net/manual/en/function.passthru.php

http://www.php.net/manual/en/function.exec.php

http://www.php.net/manual/en/function.system.php

1
ответ дан 4 December 2019 в 13:04

Это предполагает, что Ваш mysql сервер является некоторой разновидностью Unix (Linux, BSD, и т.д.). Необходимо установить ssh сервер, затем можно получить доступ к системе от шпаклевки или любого ssh клиента. Если это выполняет человечность, необходимо установить openssh-сервер. Обычно как так:

склонные sudo - получают openssh-сервер установки

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

0
ответ дан 4 December 2019 в 13:04

Вам нужен доступ SSH к Вашему серверу. Это действительно не связано с PHP, это - отдельный сервис, работающий на сервере.

Если Вы находитесь на общем хостинге, вероятно, что у Вас нет доступа SSH. В зависимости от того, кто поддерживает Ваши серверы, необходимо будет или попросить у них доступа или найти другую резервную опцию.

0
ответ дан 4 December 2019 в 13:04

Как Ваша база данных размещается точно, Вы выполняете ее на машине, к которой у Вас есть доступ, или Вы платите/используете бесплатный сервис?

0
ответ дан 4 December 2019 в 13:04

Вы выполняете команду mysqldump на сессии SSH. Это немного похоже на былые времена DOS, Вы могли бы сказать в том, что вводите в ряду команд для получения сделанной работы. Это не имеет никакого отношения к PHP или MySQL.

Где Ваш веб-сайт размещается? Они обеспечивают доступ SSH?

Если они делают и Вы разрабатываете под окнами, можно использовать программу под названием Шпаклевка для "выполнения SSH к веб-серверу". Таким образом, если доступ SSH к Вашему веб-серверу доступен.

В противном случае, возможно, они обеспечивают альтернативный способ получить резервное копирование? как через phpmyadmin?

0
ответ дан 4 December 2019 в 13:04

можно соединиться с сервером с помощью ssh через phpseclib:

http://phpseclib.sourceforge.net/

1
ответ дан 4 December 2019 в 13:04

Теги

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