« Назад

 

Могутність і потенціал операційної системи Linux проявляється, коли ти ставиш собі досить складне завдання, за годину-дві пишеш скрипт для його реалізації, запускаєш, налагоджуєш, запускаєш і все працює, роками, без глюків і підвисань… І ніякого комерційного програмного забезпечення.

Вихідні дані

Є встановлена ​​операційна система Linux, система управління базами даних mysql, в якій працює база даних infotech, користувач бази даних – inuser, пароль – qwerty (для прикладу). Завдання – написати скрипт для резервного копіювання бази даних з подальшим архівуванням архіватором tar. Термін зберігання архівів баз не більше 30 днів. Резервування виконувати по понеділках, середах, п’ятницях та неділях о 1.00.

Реалізація

Створюємо папку для зберігання архівів:

#mkdir -p /backup/infotech

 

Пишемо скрипт для поставленого завдання (bash):

#!/bin/bash
# Шлях до папки з архівами
backup_dir="/backup/infotech"
#Шаблон для створюваного архіву з датою створення архіву
backup_filename= infotech-`date +%Y-%m-%d`
#Повне ім'я архіву
archive_filename=$backup_filename.tar.gz
#Термін зберігання архівів
Backup_days=30#Створюємо дамп бази даних, використовуючи користувача з повними правами на базу даних
#(inuser для цього прикладу)
mysqldump -u iuser -pqwerty infotech > $backup_dir/$backup_filename.sql
#Архивуємо створений дамп
tar -C $backup_dir -czf $backup_dir/$archive_filename $backup_dir/$backup_filename.sql
#Вилучаємо дамп бази
rm $backup_dir/$backup_filename.sql
#Знаходимо та видаляємо всі архіви терміном створення понад 30 днів
find $backup_dir/infotech-* -mtime +$Backup_days -exec rm -v {} \; pre>

 

Додаємо завдання до cron:  

#crontab -e
0 1 * * 0,1,3,5 /шлях_до_файлу_скрипту 

 

У дозволах не забудьте виставити виконання для користувача root.

May 20, 2013

Якщо у вас виникли питання

ЗВ'ЯЖІТЬСЯ З НАМИ!

Залишіть свої дані і ми зв'яжемося з вами найближчим часом