Архивы по Категориям: backup

Корзина samba (Recycle Bin at Samba)

Не все знают, что самба может управлять удаляемыми файлами, и вот я не знал…

В общем делаем так, чтоб удаляемые файлы складывались в отдельную папочку, а не исчезали бесследно с сервера.
Создадим конфигурацию корзины:
[cc lang=”bash”]mcedit /etc/samba/recycle.conf[/cc]
В него копируем

[cc lang=”bash”]##Recycle Bin Configuration File##
repository = .recycle/%U
mode = KEEP_DIRECTORIES|VERSIONS|TOUCH
maxsize = 0
exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.~??|*.trace
excludedir = /tmp|/temp|/cache
noversions = *.doc|*.ppt|*.dat|*.ini
keeptree = Yes
versions = Yes
[/cc]

Теперь подключаем созданную конфигурацию:
[cc lang=”bash”]mcedit /etc/samba/smb.conf[/cc]
Добавляем в секцию ресурса:
[cc lang=”bash”]vfs object = recycle
config-file = /etc/samba/recycle.conf
[/cc]
Теперь в каждой шаре у нас при удалении создаться каталог .recycle и внём бережно будут все удалённые файлы.
Чистить эту “Корзину” нужно в ручную

Резервное копирование данных на сервере ( backup mysql)

часть первая mysql
Важная часть стабильности жизни сервера.

создаём каталог для бэкапа например
/var/backup
в нём будет находится скрипт бэкапа и подкаталоги для различных баз.
у меня на сервере несколько сайтов для каждого сайта я создам отдельные подкаталоги
/var/backup/site1
/var/backup/site2
в них будут находится непосредственно бэкапы

далее создаём скрипт бэкапа mysql сервера.

#touch database.sh

делаем файл исполняемым

#chmod +x database.sh

первой строкой в файле указываем исполнять данный файл интерпретатором bash

#!/bin/bash

далее делаем дап

mysqldump -u root -pMyPass database_name > site1/database_name.sql

где
-u root имя пользователя БД
-p Указывает на пароль пользователя root в данном примере MyPass
database_name – имя базы данных
> site1/database_name.sql положить дам в данный файл.

Далее надо упаковать данный дамп и указать дату его создания

7z a -t7z site1/$(date +%d_%b_%Y)_database_name.sql.7z site1/database_name.sql

7zip упаковывает файл site1/database_name.sql в каталоге site1 с именем сегодняшняя_дата_database_name.sql.7z

$(date +%d_%b_%Y) – задаётся формат даты. в данном примере имя файла будет выглядеть так:
14_Янв_2009_database_name.sql.7z

Теперь можно удалить временный файл дампа, ведь есть его архив :))

find ./ -name “*.sql” -exec rm {} \;

утилита find находит все файлы в данном каталоге и подкаталогах соответствующие формату “*.sql” и удаляет их.
в итоге в каталогах остаются лишь архивные копии дампов.

теперь осталось добавить данный скрипт на авто запуск по расписанию в крон.

редактируем список задач крона

crontab -e

дописываем наш скрипт
00 01 * * * /var/backup/database.sh

выходим с сохранением
Ctrl+X
и подтверждаем наши намерения Y

В итоге каждый день в час ночи будет запускаться скрипт резервного копирования баз данных mysql