На главную | Отправить SMS | Сделать стартовой | Поставить закладку |
Разделы сайта

 Главная
 Новости
 Регистрация
 Region Free Keys
 Телефония
 Железо
 Software
 Секреты Windows
 Безопасность
 Web-дизайн
 Web-мастерам
 Фото-приколы
 Хостинги
 Раскрутка сайта
 Анекдоты
 Игромания
 Фотогалерея
 Разное
 Знакомства
 Мир техники
 Флейм
 Голосования
 Музыка
 Спорт
 Кино
 Авто
 Зал суда
 Программа TB
 Форум
 Авторам статей
 Реклама на сайте

Рассылка


Подписаться на рассылку
"Все о WEB-дизайне"

Content.Mail.Ru

Реклама



Error. Page cannot be displayed. Please contact your service provider for more details. (14)




Web-дизайн

| Основы Web-технологий | Введение в Web-дизайн | Первая Web-страница | Графика web-дизайне | Специальные возможности HTML | Каскадные таблицы стилей | Полезные приемы в Web-дизайне | Обслуживание Web-сайта | Программирование на JavaScript и VBScript | Раскрутка сайта | Деньги и интернет | Партнерские программы | Web-софт | Поисковая оптимизация | Хостинг |

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

Автор: Дмитрий
Сайт: http://erahosting.net/

Закачивать сайт можно по протоколу 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

  • вместо <dbuser> подставьте имя субпользователя MySQL, которому присвоены права на базу dbname (без <>)
  • вместо <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 <dbuser> <dbname> -h mysql.<доменное_имя_сайта> --add-drop-table > <filename>

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

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

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

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

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

mysqldump -p -u <dbuser> -D <dbname> -h mysql.<доменное_имя_сайта> < <filename>

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

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

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

Содержание

Обсудить в форуме...>>>>

 

Каталог

Реклама


Rambler's Top100 Rambler's Top100

© 2002-2012, DIWAXX.RU. Дизайн Freeline Studio. Хостинг http://www.mtw.ru. Вопросы, пожелания, предложения: admin@diwaxx.ru