ВОЙТИ
    opened image

    Выполнение бекапов сайта и базы данных простым скриптом через планировщик

    Преимущества выполнения бекапов через планировщик.

    Выполнение бекапов сайта и базы данных с использованием скрипта через планировщик имеет несколько преимуществ:

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

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

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

    4. Сохранность данных: Регулярное создание бекапов с использованием скрипта через планировщик помогает обеспечить сохранность ваших данных. Если происходит сбой системы, случайное удаление или повреждение файлов или базы данных, вы всегда сможете восстановить данные из последней резервной копии. Это важно для предотвращения потери информации и обеспечения непрерывной работы вашего сайта.

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

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

    Примеры скриптов.

    Вы можете настроить выполнение бекапов с использованием следующих команд в cron.

    Например, в  /home/admin/ или другой папке другого пользователя  USER лежит Ваш скрипт backup.sh:

    #!/bin/bash
    curlftpfs ftp://userNAME:PASSWORD@IP/backup/ /backup
    rm -f /backup/backup.tar.gz
    rm -f /backup/backup.sql.gz
    tar -czvf /backup/backup.tar.gz /home/admin/web
    mysqldump db-NAME | gzip -c -9 > /backup/backup.sql.gz
    umount /backup

    Для его выполнения нужно присвоить правило для его выполнения:

    chmod +x backup.sh

    Скрипт backup.sh будет выполнять следующие действия:

    1. Монтирование FTP-хранилища с помощью curlftpfs.
    2. Удаление старых бекапов сайта и базы данных на хранилище.
    3. Архивирование текущего состояния данных.
    4. Создание бекапов всех сайтов/сайта в директории /home/admin/web и базы данных db-NAME на подмонтированном FTP-хранилище.
    5. После завершения всех операций, папка с FTP-хранилищем отмонтируется.

    Обратите внимание, что вам необходимо заменить userNAME и PASSWORD на ваши реальные учетные данные для FTP-сервера, а также заменить db-NAME на имя вашей базы данных. Где IP- IP-адрес FTP-сервера. Данный скрипт предварительно не проверяет наличе свободного места на FTP-сервере. Поэтому места на FTP-сервер должно быть с избытком.

    При настройках запуска скрипта через crontab есть подсказка о значениях:

    nano /etc/crontab 

     

    Для выполнения бекапов каждый вторник в 21:00, добавьте следующую строку:

    00 21 * * 2 root sh /home/admin/backup.sh 

    Для выполнения бекапов каждый час, добавьте следующую строку:

    0 * * * * root sh /home/admin/backup.sh
     

    Вы также можете добавить всю эту команду в cron одной строкой для выполнения бекапов:

    0 * * * * root curlftpfs ftp://userNAME:PASSWORD@IP/backup/ /backup && rm -f /backup/backup.tar.gz && rm -f /backup/backup.sql.gz && tar -czvf /backup/backup.tar.gz /home/admin/web && mysqldump db-NAME | gzip -c -9 > /backup/backup.sql.gz && umount /backup
    
     
    Также можно создать свой скрипт и положить в /etc/cron.daily/ для ежедневного резервного копирования.
    

    После добавления перезапускаем демон cron для применения изменений командой:
    service cron restart

     

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