initial commit of file from CVS for smeserver-dar2 on Sat Sep 7 20:16:13 AEST 2024

This commit is contained in:
Trevor Batley
2024-09-07 20:16:13 +10:00
parent dda5d4b557
commit 29314f312a
64 changed files with 7553 additions and 2 deletions

View File

@@ -0,0 +1,35 @@
{
# --------------------------------------------------------------------
# This script builds the /etc/crontab entries for each dar2 job
#
# Copyright (C) 2003-2006 Darrell May <dmay@myezserver.com>
# --------------------------------------------------------------------
# Retrieve dar2 db entries
my $db = esmith::ConfigDB->open_ro("dar2");
# create /etc/crontab line entry for each dar2 job
my @dar2 = $db->get_all_by_prop(type => 'dar2');
$OUT .= "\n";
$OUT .= "# dar2\n";
foreach my $dar2 (@dar2)
{
my $BackupJob = $dar2->key;
my $rec = $db->get("$BackupJob");
my $backupDay = $rec->prop("backupDay");
my $backupTime = $rec->prop("backupTime");
my ($backupHour, $backupMin) = split (":", $backupTime, -1);
# remove leading zeros from minutes
$backupMin =~ s/00/0/;
if ("$backupDay" ne "manual")
{
$OUT .=
"$backupMin $backupHour * * $backupDay root"
. " /etc/e-smith/events/actions/dar2-backup $BackupJob\n";
}
}
}

View File

@@ -0,0 +1,13 @@
{
$Job = $ARGV [1];
die "job name missing" unless defined ($Job);
use esmith::ConfigDB;
$db = esmith::ConfigDB->open_ro("dar2") or die "Couldn't open dar2";
$rec = $db->get("$Job") or die "No backup job $Job in dar2";
%props = $rec->props;
$OUT = '';
}

View File

@@ -0,0 +1,9 @@
{
$Backup = $props{"Backup"} || "";
@Backup = split(/,/, "$Backup");
foreach $Backup (@Backup)
{
$OUT .= "--go-into \"$Backup\"\n";
}
}

View File

@@ -0,0 +1,35 @@
{
my $Compression = $props{"Compression"} || "0";
if ("$Compression" != '0')
{
$OUT .= "--bzip2=$Compression\n";
$OUT .= <<EOF;
--exclude-compression "*.asf"
--exclude-compression "*.avi"
--exclude-compression "*.bz2"
--exclude-compression "*.bzip"
--exclude-compression "*.bzip2"
--exclude-compression "*.dar"
--exclude-compression "*.divx"
--exclude-compression "*.gif"
--exclude-compression "*.gz"
--exclude-compression "*.gzip"
--exclude-compression "*.iso"
--exclude-compression "*.jpeg"
--exclude-compression "*.jpg"
--exclude-compression "*.mp3"
--exclude-compression "*.mpeg"
--exclude-compression "*.mpg"
--exclude-compression "*.png"
--exclude-compression "*.ra"
--exclude-compression "*.rar"
--exclude-compression "*.rm"
--exclude-compression "*.rpm"
--exclude-compression "*.tgz"
--exclude-compression "*.wma"
--exclude-compression "*.wmv"
--exclude-compression "*.zip"
EOF
}
}

View File

@@ -0,0 +1,4 @@
--empty-dir
--fs-root /
--noconf
--no-warn

View File

@@ -0,0 +1,9 @@
{
$Exclude = $props{"Exclude"} || "";
@Exclude = split(/,/, "$Exclude");
foreach $Exclude (@Exclude)
{
$OUT .= "--exclude \"$Exclude\"\n";
}
}

View File

@@ -0,0 +1,9 @@
{
$Prune = $props{"Prune"} || "";
@Prune = split(/,/, "$Prune");
foreach $Prune (@Prune)
{
$OUT .= "--prune \"$Prune\"\n";
}
}

View File

@@ -0,0 +1,5 @@
{
$Slice = $props{"Slice"} || "";
$OUT .= "--slice $Slice" . "M\n";
}

View File

@@ -0,0 +1,8 @@
{
$Verbose = $props{"Verbose"} || "";
if ("$Verbose" eq "on")
{
$OUT .= "--verbose\n";
}
}

View File

@@ -0,0 +1,15 @@
{
$Job = $ARGV [1];
die "job name missing" unless defined ($Job);
use esmith::ConfigDB;
$db = esmith::ConfigDB->open_ro("dar2") or die "Couldn't open dar2";
$brec = $db->get("$Job") or die "No bakup job $Job in dar2";
%bprops = $brec->props;
$rrec = $db->get("Restore.$Job") or die "No restore job $Job in dar2";
%rprops = $rrec->props;
$OUT = '';
}

View File

@@ -0,0 +1,3 @@
--noconf
--no-warn
--verbose

View File

@@ -0,0 +1,22 @@
{
$Restore = $rprops{"Restore"} || "";
@Restore = split(/,/, "$Restore");
$Backup = $bprops{"Backup"} || "";
@Backup = split(/,/, "$Backup");
if ("$Restore" eq "*.*")
{
foreach $Backup (@Backup)
{
$OUT .= "--go-into \"$Backup\"\n";
}
}
else
{
foreach $Restore (@Restore)
{
$OUT .= "--go-into \"$Restore\"\n";
}
}
}

View File

@@ -0,0 +1,5 @@
{
$RestoreTo = $rprops{"RestoreTo"} || "error";
$OUT .= "--fs-root \"$RestoreTo\"\n";
}