CMS: любая, использующая БД MySQL
Статус: стабильный
Скачать: SypexDumper1.0.8-Cron_by_PhPh_2010-09-09.zip (скачиваний: 755)
Стоимость внедрения договорная, обычно внедряется в рамках Внедрение системы бэкапов повышенной надежности
Этот рецепт можно установить и на ваш сайт. Внедрение производится после 100% предоплаты. Указана стоимость без учета работ по дизайну, каких-либо индивидуальных доработок и при оплате электронными деньгами. Работоспособность гарантирована. Если по каким-либо причинам рецепт не удается установить на ваш сайт, мы возвращаем все деньги.
Быстрее всего заказать внедрение, отправив нам на web@finar.ru письмо с указанием данных произведенного по реквизитам платежа, адреса целевого сайта и доступов в админку и на FTP. Более медленные способы начинаются с письма в свободной форме или с телефонного звонка.
Welcome!
Дата обновления 2010-09-09
Внимание: описание и код рецепта на этой странице могут быть актуальнее архива для скачивания!
К сожалению, пока мы не имеем возможности поддерживать актуальные версии готовых к установке архивов рецептов. Архивы обновляются "при случае", т.е. при существенных доработках, дата обновления прописана в имени архива.
Лицензия и политика использования
Рецепт распространяется под лицензией Creative Commons Share Alike (BY-SA) .
Вы можете безвозмездно использовать исходные коды рецепта на своих сайтах даже в коммерческих целях, сохраняя авторство за нами (ссылки на нашу студию в исходных кодах). Вы можете распространять рецепт или его модификацию, но только на тех же условиях (т.е. продавать их и модификации нельзя).
Мы не даем гарантий работоспособности рецепта и не несем ответственности за возможный ущерб от его применения. Сторонние разработки, использованные в рецепте, могут распространяются под другими лицензиями. Смотрите сайты источников.
Если вам понравился наш рецепт и вы хотите поблагодарить нас, вы можете сделать это следующими способами:
- доработать и улучшить рецепт и выслать нам обновление;
- прислать нам на web@finar.ru ссылку на внедрение (возможно, она появится в списке внедрений);
- на странице вашего сайта поставить ссылку на эту страницу;
- поблагодарить нас рублем, переслав любую сумму на наши электронные счета.
Есть идеи по сотрудничеству? Пишите: web@finar.ru
Этот рецепт можно установить и на ваш сайт. Внедрение производится после 100% предоплаты. Указана стоимость без учета работ по дизайну, каких-либо индивидуальных доработок и при оплате электронными деньгами. Работоспособность гарантирована. Если по каким-либо причинам рецепт не удается установить на ваш сайт, мы возвращаем все деньги.
Быстрее всего заказать внедрение, отправив нам на web@finar.ru письмо с указанием данных произведенного по реквизитам платежа, адреса целевого сайта и доступов в админку и на FTP. Более медленные способы начинаются с письма в свободной форме или с телефонного звонка.
Внимание: описание и код рецепта на этой странице могут быть актуальнее архива для скачивания!
К сожалению, пока мы не имеем возможности поддерживать актуальные версии готовых к установке архивов рецептов. Архивы обновляются "при случае", т.е. при существенных доработках, дата обновления прописана в имени архива.
Это модификация скрипта SypexDumper 1.0.8. Первая модификация произведена neochief: добавлена возможность передачи параметров скрипту через адресную строку, и, соответственно, автоматизация через любой CRON (даже расположенный на другом хосте)
Вторая модификация произведена нами: в скрипт добавлен вызов PhPh_BackupAutodeleter.php, автоматически удаляющей лишние резервные копии при создании очередного дампа. Число копий, "остающихся в живых" также можно передать в адресной строке.
Установка и использование:
вот так выглядит исполнение ссылки
- перед началом работы сделайте резервную копию вашей БД обычными средствами и надежно сохраните ее;
- загрузите dumper_cron.php и PhPh_Autodeleter.php на хостинг в какую-либо директорию с достаточно случайным именем. Создайте поддиректорию /backup;
- обратитесь к скрипту dumper_cron.php, введите необходимые данные, как при использовании обычного Sypex. Выберите опцию резервного копирования нужной вам БД со сжатием, поддерживаемым вашим хостингом, или без него;
- в результате выполнения операции резервное копирование не будет осуществлено, но вы получите ссылку, по которой можно будет как вручную, так и автоматизированно вызывать выполнение данной операции с данными параметрами без ввода какой-либо дополнительной информации.
- скопируйте полученную ссылку в надежное место и используйте ее далее по своему усмотрению :) Например, вот как автоматизировать выполнение полученной ссылки под Windows. Можете воспользоваться cron'ом своего хостинга.
Заметки:
- если вы хотите изменить дефолтное число резервных копий, которые будет оставлять скрипт (три), добавьте параметр &storenum=Х к концу скопированной ссылки, где X - число бэкапов. Если вы хотите временно отключить автоудаление, поставьте 0 вместо X;
- если у вас несколько баз, повторите операцию сначала, в разных директориях, для каждой базы. Этот момент надо бы доработать :)
Код скрипта PhPh_BackupAutodeleter.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, которая может быть бесконечной;
- для использования с несколькими БД: научиться получать параметр имени базы из адресной строки, и, если он передается, оперировать только с теми файлами, имя которых начинается с имени полученной базы.
Оставить комментарий