Вы не авторизированы! Логин:  Пароль:  Запомнить:    Зарегистрироваться
Забыл пароль
 
 
 

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

SVD programming - Программирование Delphi, HTML, PHP, CGI. Обзоры софта, ReactOS и многое другое...
 
Главная - Новости - Публикации - Файлы - Ссылки - Форум Обратная связь
 


Друзья сайта ::

Сайтом управляют ::

Друзья сайта ::
Unix » SSH - доступ. Crontab. Перенос MySQL.
Автор: Дмитрий / Дата: 17:38 17.06.2006
Комментарии: Комментарии (0)
Рейтинг статьи: 0
Закачивать сайт можно по протоколу FTP, соединяясь с сервером, где расположен ваш сайт, с помощью FTP-клиента. Как это сделать, мы подробно рассмотрели в одной из статей нашего справочника.

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

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

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

Что нужно для работы с 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 - оглавление в полном формате
Эти ключи нужно подставлять сразу после команды sl.

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

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 <dbuser> -p -h mysql.<доменное_имя_сайта> <dbname> > backup-file.sql


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

Код:
mysql -u <dbuser> -p -D <dbname> -h mysql.<доменное_имя_сайта> < backup-file.sql


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

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

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

Код:
mysql -u <dbuser> -p -D <dbname> -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 <dbuser> -D <dbname> -h mysql.<доменное_имя_сайта> < <filename>


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

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

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

Источник: http://erahosting.net
Автор : Дмитрий
Комментарии: Комментарии (0)

Внимание!

Друзья сайта
Голосование ::
Случайные статьи ::
Добавления в форуме ::
Новые комментарии ::
Пользователи on-line ::
0 пользователь, 31 гостей
 
Страница создана за 0.044 секунд

SQL общее время: 0.022 секунд
SQL запросов всего: 15
Администрация сайта не несет ответственности за содержание рекламных материалов, а так же за информацию размещаемой посетителями. При использовании материалов сайта ссылка на svdpro.info обязательна.

Powered by LDU 802

Рейтинг@Mail.ru
Copyright © 2005 - 2011 «SVD Programming»
Версия сайта для коммуникаторов
Обратная связь - Карта сайта