Web-разработка, иностранные языки, Eclipse и разные разности

Zygo Profile

Санскрит - словоформы

Verbos Irregulares

TiddlyWiki: сохранение 10 последних резервных копий на сервере.

30.01.2017
Некоторое время назад я познакомилась с замечательной вещью - TiddlyWiki, которая позволяет сохранять информацию и структурировать ее по своему желанию. Для тех, кому надо держать свои наработки и данные в упорядоченной структуре, это прекрасное решение. От других решений она отличается большой гибкостью в своей настройке. Использовать можно на локальном компьютере, открывая ее в браузере, на нескольких компьютерах, храня файл tiddlyWiki в файлообменнике (dropbox, mail.ru облако и т.п.), а так же при необходимости можно использовать на сервере. Существуют решения и для мобильных устройств.

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

Если в файле store.php переменная $CLEAN_BACKUP установлена true, то происходит уничтожение старых резервных копий. Но уничтожение файлов происходит исходя из их дат - сохраняются все резервные копии за текущий час, одна резервная копия за каждый прошлый час, по резервной копии за каждый прошлый месяц, и, соотвественно, за каждый прошлый год. Таким образом, если часто редактировать wiki у себя на сервере, количество копий может возникнуть немереное. А на сервере может быть лимит места.

Это можно решить так: сохранять на сервере только несколько последних резервных копий. Для этого можно заменить функцию cleanFiles в store.php на следующую:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
function cleanFiles($dirname, $prefix){

	// максимальное количество сохраняемых резервных копий
    $countBackups =10;

    $files = glob($dirname.'/'.$prefix.'.*.html');

    if(count($files) <= $countBackups) return array();

    usort($files, function($a, $b) {
        return filemtime($a) < filemtime($b);
    });
    return array_slice($files, $countBackups);
}


P.S: чтобы TiddlyWiki корректно работала на вашем сервере под PHP7, необходимо в store.php заменить все функции split на explode


P.P.S: инструкция по сохранению tiddlyWiki на собственном сервере: Saving on a PHP Server
Облако тегов
Меню
Архив
© Psytronica.ru. Блог существа SherZa. 2015-2017 Наверх