Рубрика: backup

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

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

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

    mcedit /etc/samba/recycle.confCode language: Bash (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 = YesCode language: Bash (bash)

    Теперь подключаем созданную конфигурацию:

    mcedit /etc/samba/smb.confCode language: Bash (bash)

    Добавляем в секцию ресурса:

    vfs object = recycle
    config-file = /etc/samba/recycle.confCode language: Bash (bash)

    Теперь в каждой шаре у нас при удалении создаться каталог .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