$24.87


$58.73


$20.69


SSH - доступ. Crontab. Перенос MySQL

Закачивать сайт можно по протоколу FTP, соединяясь с сервером, где расположен ваш сайт, с помощью FTP-клиента. Но бывают ситуации, когда нужно отладить работу скрипта непосредственно на сервере хостинг-провайдера.

Или сделать автоматический запуск определенного файла в определенное время. Или совершить какие-то манипуляции с базами данных MySQL.

Для всех этих и многих других действий пользователей хостинг-провайдеры предоставляют доступ по защищенному протоколу telnet (а не по ftp), так называемый shell-доступ (ssh-доступ).

Работа с shell — это работа с командной строкой Unix. А так как это другая операционная система, то в ней существуют другие законы, команды и т.п.


Что нужно для работы с ssh? Существует множество программ для работы из Windows. Вы можете скачать Putty или SecureCRT.

Рассмотрим подключение на примере работы с программой Putty.

Все очень просто. Запускаете файл putty.exe

- Откроется окно программы.

- В поле «Host name» прописываете доменное имя вашего сайта. К примеру, site.com

- Выбираете протокол доступа — Protocol SSH.

- Нажимаете «Open». Все, сессия началась. Программа запросит ввести вас логин, вводите тот же, что у вас для доступа по FTP. Затем вводите пароль.


Внимание! Первое, что необходимо запомнить при работе с командной строкой unix — cистема различает регистр букв. То есть файлы типа Pupkin.pl и pupkin.pl и pupkin.Pl -- это совершенно разные файлы. Также и пароли wert и WerT — разные пароли!

Итак, вы подключились!

Теперь расмотрим несколько основных команд, которые могут понадобиться при работе с сайтом.

pwd — получить имя текущей папки, где вы находитесь.
cd — изменить текущую директорию

Например, Вы находитесь в директории /home, а Вам нужно попасть в /usr/sbin. Для этого Вам нужно просто набрать команду:

cd /usr/sbin

Вот что при этом Вы увидите на экране:

vvs01% cd /usr/sbin
vvs01%

ls — вывести информацию о файлах или папках

При этом список может быть довольно большой.

Поэтому существуют ключи для этой команды, вот некоторые из них:
-a — вывести все файлы (даже те, имена которых начинаются с точки);
-x — вывод в 4 колонки;
-t — имена файлов сортируются не по алфавиту, а по времени последнего изменения (сначала идут самые свежие, только что измененные файлы);
-R — рекурсивно пройти по всем подкаталогам
-CF — оглавление каталога в несколько столбиков
-al — оглавление в полном формате

Эти ключи нужно подставлять сразу после команды ls.

Вот еще несколько команд:

cat -- слить или вывести файлы-аргументы на стандартный вывод
cp -- копировать файлы
mv -- переместить (переименовать) файлы
ln -- создать ссылку на файл

rm -- удалить файлы

Формат команды:

rm [-fri] файл ...
-i — просить подтверждения на каждое удаление
-r — рекурсивно удалить вместе с подкаталогами
-f — не просить подтверждения, а сразу удалить

rmdir — удалить директорию
mkdir — создать директорию
echo — вывести аргументы командной строки на стандартный вывод

ps — узнать номера выполняемых процессов, т.е. какие программы выполняются.

Формат команды:

ps — запущенные только с этого терминала
ps -e — все
ps -f — в «полном» формате

kill — «убить» выполняемый процес по его номеру
man — выдать справку об использовании и ключах команды

Теперь о том, как запускать файлы автоматически в определенное время.

Для этого существует механизм, называемый cron.

Для каждого пользователя создается конфигурационный файл, куда записывается расписание запуска программ. Данный конфигурационный файл каждую минуту просматривается cron«ом и запускаются те программы, время запуска которых подошло. Редактируется конфигурационный файл с помощью программы crontab.

Вот основные команды:

crontab -e : войти в режим редактирования
crontab -l : вывести все задания крона
crontab -r : удалить все задания

Команда crontab file заменят текущие настройки cron на те, которые содержатся в файле »file«. Для этого вам нужно закачать сначала на сервер этот самый файл (например, через ftp), а затем в команде указать полный путь к нему. Пути для вашего сайта можно узнать у своего хостинг-провайдера, он их обычно указывает в инструкциях. В результате, если вы закачали файл raspisanie.txt в папку /pupkin/public_html/mypapka/raspisanie.txt, то команда будет выглядеть так:

crontab /pupkin/public_html/mypapka/raspisanie.txt

Когда вы задаете команду «вывести все задания крона», вы увидите нечто вида:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=pupkin
HOME=/home/pupkin
# run-parts
01 * * * * command
02 4 * * * command

Первые четыре строки просто обозначают настройку технических параметров, и на них не стоит обращать внимание (как впрочем и менять тоже).

А вот на следующие строки внимание уже стоит обратить... Формат этих строк выглядит следующим образом:
Нужная минута часа для запуска (0-59)
Нужный час дня для запуска (0-23)
Нужный день месяца (0-30)
Нужный месяц года (1-12)
Нужный день недели (0-6)
Выполнимая команда.

Значок * обозначает слово каждый (день, год, месяц, час).

Например, строка 01 * * * * command будет обозначать запуск программы каждый час в одну минуту.

А строка 02 4 * * * command означает запуск программы каждый день в 4 часа утра в две минуты.

Вы можете как создать отдельный файл со строками запуска программ, просто в столбик написав

01 * * * * command
02 4 * * * command

где command — ваша команда (запуска определенного скрипта или еще что-то), а затем просто командой «crontab file» перенести все задания из файла в крон, либо вручную все ввести в крон. Первое, на мой взгляд, удобнее.

Вот и все премудрости крона

Ну и в окончании поговорим о командах для работы с MySQL.

mysqldump — позволяет сохранить копию базы данных в текстовой файл, представляющий из себя команды SQL (о способе это сделать через phpmyadmin мы уже писали). Может быть использована при переносе базы данных с одного сервера на другой или для резервного копирования.

Формат команды:

mysqldump -u -p -h mysql. > backup-file.sql

- вместо подставьте имя субпользователя MySQL, которому присвоены права на базу dbname (без <>)
- вместо подставьте имя своей базы данных MySQL (без <>)
- вместо »backup-file.sql' подставьте имя файла, в который будут выведены данные
- перед началом работы будет спрошен пароль доступа к базе данных.

Информация, полученная с помощью mysqldump может быть занесена в базу данных командой:

mysql -u -p -D -h mysql. < backup-file.sql

Подробности о запуске этой программы можно получить командой man mysqldump

Другая полезная программа для работы с базами данных — mysql

Запускается из командной строки следующим образом

mysql -u -p -D -h mysql.

Подробности о запуске этой программы можно получить командой man mysql

Перенос баз данных MySQL

Если вам нужно перенести базу данных к себе на компьютер или с одного сервера на другой, рекомендуем проделать следующее:

1. Создание копии базы на сервере №1.

mysqldump -p -u -h mysql. --add-drop-table >

Тут — имя файла, где будет храниться база данных.

В процессе выполнения команды mysqldump спросит пароль пользователя MySql — нужно будет ввести его в ответ на соответствующее приглашение и нажать «Enter» — при этом набираемый пароль на терминале не отображается.

2. Содание базы данных из файла на сервере №2.

Закачиваете на сервер №2 по ftp файл

Затем, соединившись по ssh

mysqldump -p -u -D -h mysql. <

Здесь, обратите внимание, dbuser, dbname и пароль могут быть другими.

Все, база перенесена!

 

Интересное

Интерфейс командной строки
Итак, консоль командной строки присутствует во всех версиях операционных систем Windows. Ранние версии ОС поддерживали режим MS-DOS напрямую, что позволяло выполнять простые команды прямо из...
Подробнее...
Сбор статистики вебмастером
Рано или поздно каждому вебмастеру приходит в голову идея подсчитать статистику посещений своего сайта. В простых случаях вполне хватает использования «внешних» служб — таких,...
Подробнее...
Удалённое восстановление...
Как импортировать большой SQL-скрипт (дамп базы данных MySQL для форума phpBB), если обычными споcобами (загрузка через web-интерфейс phpMyAdmin, Backup cPanel) проблематична, особенно на модемном...
Подробнее...
Пошаговое руководство по...
В этом пошаговом руководстве представлены инструкции по балансировке сетевой нагрузки (Network Load Balancing, NLB) в среде служб терминалов, что позволяет получить такие преимущества, как...
Подробнее...
Java обгоняет по...
Одним из главных недостатков языка Java традиционно считается невысокая скорость работы программ по сравнению с приложениями на языке С++. И для приложений, где переносимость между платформами...
Подробнее...
Assembler. Введение
Микропроцессоры корпорации Intel и персональные компьютеры на их базе прошли не очень длинный во времени, но значительный по существу путь развития, на протяжении которого кардинально изменялись и...
Подробнее...
Определение наличия...
По статистике, около 90% пользователей в наши дни пользуются Internet Explorer (5-й или 6-й версией). В этих браузерах Flash, как правило, уже установлен (если же нет, то, при наличии...
Подробнее...
Продление периода оценки...
В статье описывается способ продления или повторной активации периода оценки системы Windows Server 2008. Период оценки также называется льготным периодом активации. Приведенные инструкции...
Подробнее...
Наиболее распространенне...
Количество случаев похищения идентификационных данных все растет. Нашла ли ваша организация решение этой проблемы или она остается для вас по-прежнему актуальной? Личные идентификационные данные...
Подробнее...
Печать из Linux на Windows...
1. Предисловие Перед нами стоит задача печати документов на Win-принтере (Canon LBP — 810) из Linux (ALT Master 2.2/2.4). Canon LBP — 810 подключен (USB-подключение) и настроен на Win-компьютере...
Подробнее...