Hvis man har en blogg er det lurt å ta backup av denne med jevne mellomrom slik at man har en måte å få alt tilbake på når noe går galt. Når det gjelder IT er det aldri snakk om hvis noe går galt, men når. Disker dør, servere dør, hostingleverandører forsvinner/blir utsatt for ransomware/blir kjøpt opp og lagt ned, etc.
Jeg har min egen server og er dermed ansvarlig for alt som skjer med denne selv - OS-oppgraderinger, programoppdateringer, webserver, bloggsystem, sikkerhet, backup - the works.
Når det gjelder Bludit har jeg basert meg på å ta en backup etter hver gang jeg publiserer noe. Dette har fungert greit så langt siden jeg publiserer lite, men det er jo teit å gjøre det sånn når det kan automatiseres.
Siden Bludit er et databaseløst bloggsystem er det heldigvis enkelt å ta backup. Lag et script for å zippe opp hele bludit-mappen, og sleng det scriptet inn i crontab.
Her er scriptet:
<!--?php
$rootPath = realpath('./blog/');
$today = date("Y-m-d-H-i-s");
$zipFile = "./blog-".$today.".zip";
$zip = new ZipArchive();
$zip--->open($zipFile, ZipArchive::CREATE | ZipArchive::OVERWRITE);
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file) {
// Skip directories (they would be added automatically)
if (!$file->isDir()) {
// Get real and relative path for current file
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($rootPath) + 1);
// Add current file to archive
$zip->addFile($filePath, $relativePath);
}
}
// Zip archive will be created only after closing object
$zip->close();
echo $today . " backup done";