Архив метки: Bash

Простой скрипт для бэкапа MySQL баз

#!/bin/bash

# Variables
CNF=/etc/mysql/debian.cnf
BACKUPDIR=/var/backups/mysql/
DATE=`date +%F`
OLDDAYS=7

# Main part
for DATABASE in `echo SHOW DATABASES | mysql —defaults-file=${CNF} —skip-column-names`;do
BACKUPNAME=${BACKUPDIR}${DATABASE}.sql.${DATE}
BZBACKUPNAME=${BACKUPNAME}.bz2
echo Dumping ${DATABASE} into ${BZBACKUPNAME}
mysqldump —defaults-file=${CNF} ${DATABASE} > ${BACKUPNAME}; bzip2 -f ${BACKUPNAME}
done

# Deleting old backups

find ${BACKUPDIR} -mtime +${OLDDAYS} -delete

Дампит и сжимает базы данных.
Можно (и нужно) добавить его в крон, например:

00 05 * * * root /usr/local/sbin/mysqlbackup.sh

P.S. Ах да, это юбилейный, сотый пост в моём бложике:)

Автор: AlexWinner

bash — обращение к нужной команде из history

Как известно, список использованных команд в bash’e можно посмотреть, набрав команду history:

$ history
1  echo «test»
2  echo «Hello World»
3  find . -mtime +5
..

.
Читать

Краткое введение в программирование на Bash — часть II

Выкладываю перевод второй часть статьи про введение в программирование на bash, начатое здесь.

В своей второй статье Гарольд продолжает свое первоклассное введение в программирование на bash. На этот раз он объясняет, как выполнять арифметические операции в скриптах bash, как определить функции в своих программах. Завершается статья введением в такие продвинутые вещи как чтение пользовательского ввода, обработка скриптом аргументов, перехватывание сигналов и обработка кодов завершения программ.

Читать

Краткое введение в программирование на Bash — часть I

Данное введение в программирование на bash прельстило меня своей краткостью и содержательностью. В то же время я изменил некоторые примеры, потому что они делали слегка не то, что ожидается новичками. Начинающим текст будет полезен как отправная точка для начала написания скриптов. Опытным — как справочник. Удачного чтения!
Выражаю также благодарность Владимиру Черному (начальнику отдела образовательных проектов ALT Linux) за внесенные в текст правки.

Читать

linux: небольшой скрипт дампа

Если не надо версионность и нет резона использовать svn, то для некоторых случаев делаю периодическую архивацию на скорую руку с помощью маленького скриптика.

#!/bin/sh

DATE=`/bin/date "+%0Y%0m%0d-%0k%0M%0S"`
FILE=$1
NAME=`basename $FILE`

tar -chzf $DATE-$NAME.tar.gz $FILE

Создаёт в каталоге в котором он вызван для указанного в параметре каталога архивный файл типа 20100423-170834-doc.tar.gz. Сам отрежет из переданного пути имя файла и назовёт архив нормально. Уже забыл почему именно, но назвал я этот скрипт dumparch. Ну, ясно, что дальше можно положить его в ~/bin или в системный bin. Варианты использования:

dumparch doc
dumparch ./doc
dumparch ~/project/doc

Автор: Дмитрий

Основные команды Bash (Linux Debian — Ubuntu)

Такая маленькая шпаргалочка по самым частоиспользуемым командам командной строки Bash 🙂

1. Команды, предназначенные для работы с файлами и директориями.

ls /path/ — вывести содержимое директории /path/. Например, ls /home/username/ выведет все файлы и директории, содержащиеся в папке /home/username/ . Просто ls выведет содержимое текущей директории. Так же очень часто используется ls -lh  — с такими параметрами эта команда выведет содержимое и укажет его размер в «человеческом виде» — human-readable, кроме размера так же будет указаны права доступа на файл, время его редактирования и пр.
Читать