SypexDumper 1.0.8 с поддержкой автоматизации через CRON ... а также передачи параметров в адресной строке и автоудаления старых бэкапов

Это модификация скрипта SypexDumper 1.0.8. Первая модификация произведена neochief: добавлена возможность передачи параметров скрипту через адресную строку, и, соответственно, автоматизация через любой CRON (даже расположенный на другом хосте)

Скачать: Attach:SypexDumper1.0.8-Cron_by_PhPh_2010-09-09.zip
Источники: www.sypex.net, www.drupal.ru/node/20156/

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

Установка и использование:

SypexDumper с поддержкой Cron
вот так выглядит исполнение ссылки
  1. перед началом работы сделайте резервную копию вашей БД обычными средствами и надежно сохраните ее;
  2. загрузите dumper_cron.php и PhPh_Autodeleter.php на хостинг в какую-либо директорию с достаточно случайным именем. Создайте поддиректорию /backup;
  3. обратитесь к скрипту dumper_cron.php, введите необходимые данные, как при использовании обычного Sypex. Выберите опцию резервного копирования нужной вам БД со сжатием, поддерживаемым вашим хостингом, или без него;
  4. в результате выполнения операции резервное копирование не будет осуществлено, но вы получите ссылку, по которой можно будет как вручную, так и автоматизированно вызывать выполнение данной операции с данными параметрами без ввода какой-либо дополнительной информации.
  5. скопируйте полученную ссылку в надежное место и используйте ее далее по своему усмотрению :) Можете воспользоваться cron'ом своего хостинга, и запускать ее с другого сервера.

Заметки:

  • если вы хотите изменить дефолтное число резервных копий, которые будет оставлять скрипт (три), добавьте параметр &storenum=Х к концу скопированной ссылки, где X - число бэкапов. Если вы хотите временно отключить автоудаление, поставьте 0 вместо X;
  • если у вас несколько баз, повторите операцию сначала, в разных директориях, для каждой базы. Этот момент надо бы доработать :)

Код скрипта PhPh_BackupAutodeleter.php

<?php
## This was coded by Ph&Ph (http://web.finar.ru) This is a script for automatical delete exisiting backups copies. It is siutable for using with Sypex Dumper for full CRON automatization.

## here is some config:
$dir = "./backup/"; // backup directory
$ext1 = "sql"; // first acceptible file extension
$ext2 = "gz"; // second acceptible file extension
$storenum = 3; //default value of how many backups will stay untouched. If 0, will not delete anything. Can be customed in command line by the following syntax:
// PhPh_BackupAutodeleter.php?storenum=5 , where 5 is how many backups do you want to keep alive
##  here config finishes.

## -----------Do not modify anything below-----------


if (isset ($_GET["storenum"])) {
    $storenum = $_GET["storenum"]; // if there is new value in command line, then apply it instead of default
}

echo "Script will keep <b>$storenum</b> backups<br><br>";

if (is_dir($dir) && $storenum != 0) {
    $dh  = opendir($dir); // opening directory...
    while (false !== ($filename = readdir($dh))) { // reading directory
        if ($filename != "." && $filename != ".." ) { // bypass parent and current dirs
            $ext = end(explode(".", $filename)); // get extension
            if ($ext == "$ext1" || $ext == "$ext2") { // if file has properly extension, then proceed
                $files[] = $filename; // add this file to array
            }
        }
    }

    $count = count($files); //how many files we have now
    $i = $count-$storenum; //how many files we have to delete

    if ($count !=0 ) {
        sort($files); //  sort array by name.  ToDo:  replace sorting by filename via sorting by create time from filesystem   


            foreach ($files as $deleted) {
                if ($i > 0) {
                    unlink("$dir$deleted");
                    echo "File <b>$deleted</b> was deleted<br>";       
                    $i--;
                }
                else {
                    echo "File <b>$deleted</b> is alive<br>";      
                }
            }
        }
    else {
    echo "<b>Attention:</b> no backup files found. Nothing to delete :( ";
    }
    echo "<br>Operation completed successful.";
}

?>

To-do лист скрипта PhPh_BackupAutodeleter.php:

PhPh_BackupAutodeleter.php - это скрипт, удаляющий из выбранной директории N первых по имени файлов, двух выбранных расширений. Вот что можно бы с ним сделать:

  • сделать сортировку файлов не по имени, как сейчас, а по дате создания, которую выцеплять из файловой системы;
  • обрабатываемые расширения оформлять в виде array, которая может быть бесконечной;
  • для использования с несколькими БД: научиться получать параметр имени базы из адресной строки, и, если он передается, оперировать только с теми файлами, имя которых начинается с имени полученной базы.

Связанные статьи:

Блог

Tilda Module: интеграция NetCat с Tilda.cc

Представляем нашу новую разработку, модуль интеграции CMS NetCat с платформой Tilda.cc. Модуль дает возможностью полуавтоматически размещать классные лендинги прямо в структуре вашего сайта!

далее

Как оптимально заархивировать файлы, чтобы распаковать их средствами ISPmanager?

В определенных случаях файлы выгоднее заливать на веб-сервер в виде архива. Во-первых, если данные хорошо сжимаются, или же просто файлов очень много, это сократит время заливки. Во-вторых, в любом случае это обезопасит данные от случайного повреждения, так как при распаковке архива происходит проверка его целостности с помощью контрольной суммы (CRC). Однако, не вполне понятно, какой формат архива и тип сжатия выбирать? Мы провели небольшое экспериментальное исследование на эту тему.

далее

Как расшифровать бэкапы, зашифрованные ISPmanager?

В ISPmanager версии 5.52.0 и старше, реализована новая система резервного копирования, построенная на основе некоей ISPtar. И работает она... своеобразно. Попробуем разобраться, как именно.

далее

Типовой сайт по раскрытию информации по Приказу ФСФР 22.06.2005 № 05-23/пз-н

Представляемый программный комплекс предназначен для российских УК ПИФ (управляющих компаний паевого инвестиционного фонда). В соответствии с требованиями законодательства, такие УК обязаны иметь сайт по раскрытию информации, на котором будет регулярно публиковаться определенный набор документов, касающихся их деятельности. И не только публиковаться, но и своевременно отправляться в Архив, а кроме всего прочего должно вестись журналирование всех этих действий. Иначе -- плохо, иначе -- нарушение действующего законодательства, наказания, штрафы, отзыв лицензии и так далее.

далее

Весь блог тут