Резервная копия сайта из терминала Linux

Linux имеет графический пользовательский интерфейс, и он работает почти так же, как  Windows. Но в данной статье мы хотим остановиться на командной строке (также известной как терминал).

О терминале

Командная строка — интересный зверь, и если вы не использовали его раньше, это может быть немного пугающим. Не волнуйтесь, если вы немного потренируетесь, то убедитесь сто это ваш друг.

О терминале

Хотя вы можете оставить графический интерфейс полностью, большинство людей открывают интерфейс командной строки просто как другое окно на своем рабочем столе. При этом, можно открыть не ограниченное колличество терминалов.

Это также является нашим преимуществом, поскольку мы можем открыть несколько командных строк. И соответственно, выполнять разные задачи в каждой одновременно. Кроме того, мы можем легко вернуться к графическому интерфейсу, по необходимости.

О терминале

Как увеличить буфер обратной прокрутки?

Первым решением будет увеличить дефолтный (умолчальный) размер буфера в исходниках ядра и перекомпилировать его. Позвольте предположить, что вы столь же не склонны заниматься этим, как и я, и поискать средство более гибкое.

И такое средство есть, а называется оно framebuffer console, для краткости fbcon. Это устройство имеет файл документации ; если вы устанавливали документацию к ядру, то он у вас есть. Выискивайте его где-то в районе /usr/share ветви (я не могу указать точный путь из-за разницы в дистрибутивах).

На этом месте прошу прощения: мы должны сделать небольшое отступление и немного поговорить о видеобуфере (framebuffer).

Видеобуфер — это буфер между дисплеем и видеоадаптером. Его прелесть в том, что им можно манипулировать: он позволяет трюки, которые не прошли бы, будь адаптер связан напрямую с дисплеем.

Один из таких трюков связан с буфером прокрутки; оказывается, вы можете «попросить» видеобуфер выделить больше памяти буферу прокрутки. Достигается это через загрузочные параметры ядра. Сначала вы требуете framebuffer (видеобуфер); Затем запрашиваете больший буфер прокрутки.

Нижеследующий пример касается GRUB, но может быть легко адаптирован к LILO. В файле настройки GRUB— найдите соответствующую ядру строчку, и затем: Удалите опцию vga=xxx, если таковая присутствует. Добавьте опцию video=vesabf или то, что соответствует вашему «железу». Добавьте опцию fbcon=scrollback:128. После этой процедуры, строка параметров ядра должна выглядеть приблизительно так:

kernel /vmlinuz root=/dev/sdb5 video=radeonfb fbcon=scrollback:128

Спрашивается, зачем удалять опцию vga=xxx? Из-за возможных конфликтов с видео-опцией. На своем ATI адаптере, я не могу изменить буфер прокрутки, если vga=xxx присутствует в списке. Возможно в вашем случае это не так. Если вышеперечисленные опции работают — хорошо; но что, если вы хотите увеличить число строк, или установить более мелкий шрифт на экране? Вы всегда делали это при помощи опции vga=xxx — а она-то и исчезла. Не переживайте — то же самое может быть достигнуто изменением параметров fbcon, как описано в файле (но не описано в данной статье).

С опцией fbcon=scrollback:128 у меня буфер прокрутки увеличился до 17 экранов (35 раз Shift+PgUp по полэкрана). Кстати, 128 — это килобайт. Я и не пробовал.

Можно заюзать script.

Делаем

script

когда все нужные команды выполнены —

exit

. Все записано в

В FreeBSD есть замечательная утилита watch, которая позволяет мониторить терминалы, но как оказалось, в Linux она выполняет совсем иные функции =\ Стоит погуглить на эту тему, чего-нть да найдется…

Разделы
Программы ROSA Linux - Рецепты/howto

Резервная копия файлов

Создание архива

$ cd ~/ $ tar -zcvf site_ /var/www/_html

Читайте также:  Добавление миниатюры на страницу поста WordPress

Первая команда вовсе не обязательна. cd ~/ перекидывает вас в домашнюю директорию. Именно там архив и будет создан.

Далее происходит сама архивация.

tar [-ключи] [имя архива] [путь к файлам]

Непонятно пока только с ключами. Разберем каждый из них:

  • -z (—gzip) — архив .gz (gzip);
  • -c (—create) — собственно создание архива;
  • -v (—verbose) — выводим в терминал листинг файлов, которые будут запакованы;
  • -f (—file) — созданный архив сохраняем в файл.

Все встало на свои места. Теперь, когда нужно создать просто .tar архив, нужно просто выкинуть ключ -z из этого примера:

$ tar -cvf site_ /var/www/_html

или например:

$ tar -jcvf site_ /var/www/_htmlВнимание! Не используйте .ZIP архивы. Они имеют ограничение по размеру в 2Гб.

Распаковка архива

Для распаковки используется все та же команда tar, просто с другими ключами:

$ cd /var/www/_html $ tar -xvzf site_

Разница в том, что вместо -с теперь -x (—extract), который позволяет разархивировать указанный файл

На самом деле все еще проще:

$ tar -vxzf site_ /var/www/_html

Теперь приступаем к БД.

советов для повышения производительности в UNIX и Linux

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

1) Используйте ! для быстрого выполнения длинной команды

В среднем, эта команда сэкономила мне 30% рабочего времени, так как постоянно приходится выполнять одну и ту же UNIX команду по несколько раз.

Прежде чем я узнал об этой команде, я использовал стрелки вверх и вниз для работы с историей команд. При нажатии стрелки вверх я искал нужную мне команду из предложенного списка, а затем выполнял ее. Согласитесь, не очень удобно. Но с ! достаточно открыть историю с помощью команды history, выбрать номер строки с нужной командой и выполнить ее. Скажем, под номером 100 находится команда sudo apt-get update. Для того, чтобы не вводить ее целиком, достаточно написать !100.

советов для повышения производительности в UNIX и Linux

Не забывайте про этот совет, так как он, определенно, сэкономит массу времени. Кроме того, эта команда окажется очень полезной для командной оболочки, отличной от оболочки bash (вроде csh илиksh), где стрелки вверх и вниз не позволяют работать с историей команд.

2) Используйте !! для выполнения последней команды

Это расширенная версия предыдущей команды, позволяющая выполнить самую последнюю команду из тех, которые вы уже выполняли. Поскольку данная команда заключается в двойном нажатии одной и той же клавиши — с работы вы точно начнете уходить раньше остальных.

Также она будет работать на оболочках, в которых не работает стрелка вверх и вниз, таких как csh и ksh.

3) Используйте “CTRL+R” для поиска и выполнения подходящей команды

Если вы помните половину или четверть названия команды, которую хотите найти — введите “CRTL+R” и она покажет последнюю выполненную команду с совпадающим названием. Если вы будете продолжать нажимать “CRTL+R”, вам будут выдавать более старые команды, подходящие под искомую строку, если они имеются.

Вышеперечисленная тройка советов сэкономит вам кучу времени и нервов, если дело касается выполнения постоянно повторяющихся команд.

Лично я сэкономил почти 50–60% рабочего времени, просто следуя этим советам.

советов для повышения производительности в UNIX и Linux

4) Используйте историю команд

Это самый первый совет, который я сформировал для себя, когда начал работать с UNIX.

Каждый день я выполняю сотни команд и, вполне естественно, что я не могу запомнить каждую. Для поиска подходящей нужно выполнить команду history | grep ключевые слова и вы получите все команды, содержащие ключевые слова.

Используйте переменную HISTSIZE, чтобы установить количество команд, которые необходимо хранить в списке истории (стандартное значение — 500).

5) Используйте grep и find

Команда grep используется для поиска текста в файлах и директориях, на основе шаблонов. Команда find используется для поиска файлов по имени и другим свойствам.

Например, с помощью find можно найти все файлы, начиная с текущей директории, название которых начинается, например, на coolarticle: find . -name ’coolarticle*’. А с помощью команды grep можно найти coolarticle в файле , с выводом полностью совпавшей строки: grep coolarticle

6) Используйте alias

советов для повышения производительности в UNIX и Linux

Команда alias запускает любую команду или группу команд, в том числе с опциями, параметрами и файлами, посредством ввода одного слова или символа. То есть вы создаете более простые, короткие версии обычных команд, присваивая им новые названия.

Читайте также:  Какой выбрать линукс: популярные дистрибутивы

Например, для того чтобы не вводить целиком команду clearнапишем alias c=»clear» и добавим в конце ~/.bashrc, чтобы данный alias был всегда доступен. Теперь, при вводе всего лишь одной буквыc, будет очищаться весь терминал.

7) Используйте pushd, popd, cd -, ~ для перемещения по каталогу

Основываясь на собственном опыте, могу сказать, что перемещение по оболочке UNIX занимает 50% рабочего времени, а если вы собираетесь прописывать путь к каталогу — можете насовсем забыть о быстрой работе.

В общем, вместо того, чтобы вводить полное имя команды, используйте вышеприведенные советы и эффективно используйте команды pushd, popd, cd- и cd ~ для быстрого перехода между каталогами.

8) Минимизируйте количество нажатий клавиш или увеличьте скорость печати

Чем меньше вы печатаете, тем быстрее вы работаете.

Если вы введете первые несколько букв имени файла, команды или пути, а затем нажмете клавишу Tab — произойдет автозаполнение командной строки.

советов для повышения производительности в UNIX и Linux

9) Продолжайте изучать новые команды

Старайтесь узнать как можно больше команд — это поможет сократить время для выполнения самых разных задач. И не забывайте использовать ctrl+z, fg и bg, чтобы приостановить процесс.

Ctrl+Z приостанавливает процесс, для возобновления выполнения процесса на переднем плане можно использовать команду fg, команда bg запускает процесс в фоновый режим.

Надеюсь, что эти советы помогут вам сделать больше за меньшее количество времени, увеличат вашу производительность и обогатят ваш опыт работы с UNIX.

Зачем нужен Терминал?

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

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

Разберем каждый из этих аспектов подробнее.

Терминал, как манипулятор файлов и папкок

Большинству пользователей нет необходимости использовать Терминал благодаря графической оболочке их операционной системы. Однако, без него не обойтись, когда речь идет о манипуляциях с файлами и папками более сложными, чем: «скопировать документ из одной папки и вставить в другую». Я приведу простой пример, показывающий ограниченность использования графической оболочки операционной системы.

Допустим, мне нужно переименовать фотографию и добавить к текущему названию дату, когда эта фотография была сделана. Что может быть проще, скажите Вы: «открой свойства файла, скопируй дату создания файла, закрой окно «Свойства» и вставь дату в название файла». Так и есть, все довольно просто, вот только повторить это действие нужно для всех фотографий на моем компьютере (а их у меня более 25 тысяч). Очевидно, что если я буду делать это подобным образом, то это задание отнимет у меня несколько недель.

Решение этой же задачи в Терминале займет не более получаса даже у начинающего пользователя. Фокус в том, что в Терминале пользователь может программировать действия, делегируя компьютеру рутинную работу. В разных типах эмуляторов терминала – разные языки программирования, но вероятно самым распространенным в наши дни является язык bash (о нем скоро будет отдельная статья).

Использование Терминала для создания скриптов

Другая важная особенность эмуляторов терминала – это возможность запуска в нем других программ, чтобы автоматизировать процессы в программах и обеспечить автономное взаимодействие между ними. Если входные и выходные данные этих программ оформить в виде файлов, то Терминал сможет запускать последовательно программы. Алгоритм будет напоминать цепочку из таких действий: запустить программу А, загрузить туда входные данные (файл А), экспортировать результаты анализа в файл B, закрыть программу A, запустить программу B, загрузить туда файл B, ну и так далее…

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

Управления суперкомпьютерами и серверами через Терминал

Терминал является не только окном в операционную систему персонального компьютера, но также и в операционную систему сервера или суперкомпьютера, который может находиться в тысячах километров от Вашего текущего месторасположения. Через эмулятор терминала на суперкомпьютер можно подавать алгоритмы (bash-скрипты), выполнение которых на Вашем компьютере могло бы занять неделю. Благодаря своей мощности суперкомпьютер проведет расчёты за считанные часы. Подобный подход позволяет проводить анализ больших массивов данных в кратчайшие сроки.

Читайте также:  Самая быстрая файловая система для Linux

Как правило, на суперкомпьютерах и серверах стоят версии операционной системы Linux. Так как различий между эмуляторами терминала на Линуксе и на Маке практически нет, в дальнейших статьях я буду писать только об эмуляторах терминала, работающих на языке программирования bash (например, программа Terminal).

Работа с папками и файлами

Командная оболочка, при выполнении операций с объектами файловой системы, по умолчанию, подразумевает, что выполняются операции в текущей директории, если явно не указан путь к месту расположения обьекта. Например, команда vi passwd, указывает текстовому редактору vi открыть файл passwd, находящийся в текущей директории. Если вы хотите открыть файл /etc/passwd и при этом текущей является ваша домашняя директория, следует ввести полный путь, то-есть выполнить команду vi /etc/passwd.

Если куказать путь к файлу, которого не существует, текстовый редактор vi, так-же как и большинство других текстовых редакторов, создаст новый файл с таким именем.

Для работы с файлами и директориями, следует знать следующие команды:

  • cd (change directory) – Смена текущего каталога. Для того чтоб перейти в другой каталог, следует выполнить команду cd /имя_каталога. Если выполнить команду cd без аргумента — вы попадете в домашний каталог текущего пользователя.
  • pwd (print working directory) — вывести в консоль путь к директории, которая в данный момент является текущей.
  • ls (list) – Выводит список файлов и папок. Если выполнить команду без параметров — будет выведен список файлов и папок в текущей директории.
  • mkdir (make directory). Создает директорию. Например, команда mkdir test в текущей директории создает директорию с именем test.
  • rm (remove) – Команда rm удляет файл, или папку. Например, крмада rm test удалит в текущей директории файл test. Если нужно удалить директорию, следует использовать ключ -R. Команда rm -R test удалит диркторию test и все ее дочерние элементы.
  • cp (copy) – Команда cp создает копию файла, или папки.
  • mv (move) – Команда mv перемещает файл, или папку в указанное место файловой системы. Также эта команда используется для переименования файлов. Например, команда mv original new переименовует файл original в new.

Если вышеприведенная информация показалась вам сложной, не спешите расстраиваться и отказываться от идеи применения командной строки в своей работе с компьютером — запомнив основные команды вы сможете эффективно перемещаться по папкам, используя команду cd, отображать содержимое папок с помощью команды ls, создавать директории с помощью команды mkdir и управлять файлами с помощью команд rm, cp и mv.

Back to top

Системная информация

Команда Что делает
top это команда выводит полную информацию о системе в режиме реального времени (список процессов, загруженность процессора, памяти и т.д.) h — справка q — выход из программы. u — показывает только пользовательские процессы (top -u username) F — изменяет столбец, по которому сортируются задачи f — выбор столбцов для вывода M — выводит данные в мегабайтах (top — M)
man имя_программы справка по программе, листать пробелом
k остановить процесс
htop то же самое, что и top, но с графическим интерфейсом
free выводит информацию об использовании оперативной и виртуальной памяти
df -h выводит информацию об использовании дискового пространства
cat /etc/*release* (или cat /etc/issue) узнаем версию дистрибутива Linux
atop лучше, чем top и sar вместе взятые, хранит исторические данные (atop)
sudo dpkg —get-selections смотрим список установленных пакетов ( | more — постраничный вывод) (Debian / Ubuntu Linux)
baobab информация об используемом дисковом пространстве
hardinfo программа, позволяющая смотреть информацию о системе
hostname показывает hostname системы
clamAV бесплатный антивирус, стандарт для Linux-систем