Хороша та женщина, уста которой источают мудрость, дух преисполнен изящества и утонченности, а поведение внушает всем почтительность и уважение. Опытный глаз не может не заметить эти ее достоинства, а едва заметив их, он сразу обратит омрачившие было его душу порочные чувства в благодатные и праведные размышления.
Скажи: “Истина дается вам Господом [она не придумана мною]. Кто хочет, верует, а кто не желает, может и не веровать. 18:29
“Остерегайтесь скупости! Ведь скупость уничтожила тех, кто был до вас, приведя к кровопролитию и дозволению недозволенного”
Уже стало догмой: админы делятся на тех, кто еще не успел настроить бэкап и тех, кто уже бэкапит (как правило в ужасе после того, как часть данных уже пропала). Задача: настроить резервное копирование данных с файлового сервера на бэкап сервер. Решение: настраиваем зеркалирование файловых шар rsync-ом раз в неделю, как транспорт используем ssh, авторизацию производим по публичным ключам. Генерируем ключ на файловом сервере, при этом пароль оставляем пустым:
На основе вышеуказанной команды пишем скрипт под наши нужды и кидаем его в крон. Если нужно добавить сервер для бэкапа, то просто вписываем его ключ на бэкап сервере в /root/.ssh/authorized_keys.
Есть такой вкусный пртокол, называется SSH. Чтобы пользоватсья им при управлении сервером используем специальные программы, например Putty. Есть много справочников по ssh, но я здесь приведу лишь самые частые и нужыне команды.
SSH — протокол для удалённого управления операционной системой, как правило семейства Unix, хотя SSH-серверы доступны для большинства операционных систем.
Чтобы получить доступ по SSH к серверу, запустите SSH-клиент (PuTTY — один из самых популярных клиентов) и подключитесь к серверу.
Всё, теперь у вас перед глазами консоль, в которой можете вводить различные комманды. Ниже список наиболее часто используемых команд.
Файловые команды
ls — список файлов и каталогов ls -al — форматированный список со скрытыми каталогами и файлами cd dir — сменить директорию на dir cd — сменить на домашний каталог pwd — показать текущий каталог mkdir dir — создать каталог dir rm file — удалить file rm -r dir — удалить каталог dir rm -f file — удалить форсированно file rm -rf dir — удалить форсированно каталог dir * cp file1 file2 — скопировать file1 в file2 cp -r dir1 dir2 — скопировать dir1 в dir2; создаст каталог dir2, если он не существует mv file1 file2 — переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2 ln -s file link — создать символическую ссылку link к файлу file touch file — создать file cat > file — направить стандартный ввод в file more file — вывести содержимое file head file — вывести первые 10 строк file tail file — вывести последние 10 строк file tail -f file — вывести содержимое file по мере роста, начинает с последних 10 строк
Архивация
tar cf file.tar files — создать tar-архив с именем file.tar содержащий files tar xf file.tar — распаковать file.tar tar czf file.tar.gz files — создать архив tar с сжатием Gzip tar xzf file.tar.gz — распаковать tar с Gzip tar cjf file.tar.bz2 — создать архив tar с сжатием Bzip2 tar xjf file.tar.bz2 — распаковать tar с Bzip2 gzip file — сжать file и переименовать в file.gz gzip -d file.gz — разжать file.gz в file
Сеть
ping host — пропинговать host и вывести результат whois domain — получить информацию whois для domain dig domain — получить DNS информацию domain dig -x host — реверсивно искать host wget file — скачать file wget -c file — продолжить остановленную закачку Клавиатурные сочетания Ctrl+C — завершить текущую команду Ctrl+Z — остановить текущую команду, продолжть с fg на переднем плане или bg в фоне Ctrl+D — разлогиниться, тоже самое, что и exit Ctrl+W — удалить одно слово в текущей строке Ctrl+U — удалить строку !! — повторить последнюю команду exit — разлогиниться
Так вы ещё загружаете сотни файлов по FTP? Тогда читайте следующий абзац.
Для оптимизации времени заливки сайта, архивируете его на локальной машине, заливаете архив на сервер в нужную папку и далее по SSH распаковываете например командой tar xf file.tar.
######
Архивация/Разархивация Создание tar.gz-архива: tar czf имя-архива.tar.gz имя-папки
Распаковка tar.gz-архива: tar xzf имя-архива.tar.gz
Распаковка rar-архива: unrar x имя-архива.rar
Работа с файлами и папками Список файлов и папок: ls
Полный список файлов и папок, включая скрытые: ls -a
Сменить директорию: cd имя-каталога
Примеры использования: * cd / — переход в корневую директорию диска; * cd .. — переход на один уровень выше; * cd ../.. — переход на 2 уровня вверх; * cd $HOME — переход в домашнюю директорию (достаточно набрать просто cd); * cd /home/имя-папки/имя-подпапки — переход в указанную папку.
Создание папки: mkdir имя-папки
Удаление файла или папки: rm имя-файла
Удаление файлов и папок рекурсивно (включая все вложенные файлы и папки): rm -r имя-папки
Переименовать файл: mv имя-файла новое-имя-файла Если «новое-имя-файла» — это папка, то файл будет перемещён в эту папку.
Создать символическую ссылку: ln -s имя-файла имя-ссылки
Изменение прав доступа (CHMOD) у файла или папки: chmod 755 имя-папки
Изменение прав доступа (CHMOD) у всех файлов рекурсивно: find . -type f | xargs chmod 644
Изменение прав доступа (CHMOD) у всех файлов с определённым расширением рекурсивно: find . -name '*.cgi' -type f | xargs chmod 755
Изменение прав доступа (CHMOD) у папок рекурсивно: find . -type d | xargs chmod 755
Бэкап базы данных Бекап базы данных с помощью mysqldump (команда должна быть в одной сроке): mysqldump --user=ПОЛЬЗОВАТЕЛЬ --host=ХОСТ -acnqQ --single-transaction --default-character-set=КОДИРОВКА --password=ПАРОЛЬ -- БАЗА_ДАННЫХ | sed "s#^CREATE TABLE#\0 IF NOT EXISTS# ; s#^INSERT INTO#REPLACE INTO#" | gzip -qf9c > /home/username/путь-где-будут-храниться-бэкапы/имя-базы-данных-`date +%Y-%m-%d`.sql.gz Пример кодировки: cp1251, utf8.