aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--examples/example.rsync124
-rw-r--r--examples/example.sys2
-rwxr-xr-xhandlers/sys.in18
4 files changed, 142 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 983341e..72c5923 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,8 +10,8 @@ version 0.9.5 -- unreleased
applied to fix #370396 broke this, especially for configuration files
created with permissions 000 by an older ninjahelper version.
. Enhanced portability for other platforms
- . Fixed Trac#11 (quoting needed to prevent shell expansion, broke the
- toint function sometimes)
+ . Added quoting because it was needed to prevent shell expansion, broking the
+ toint function sometimes (Trac#11)
. Fixed reportspace option (Trac#10)
handler changes
dup:
@@ -61,6 +61,8 @@ version 0.9.5 -- unreleased
. Fixed example in example.sys to detail the __star__ in partitionsfile and
note why its necessary (Closes: #409192)
. Force C locale for sfdisk to ensure english words are found in grep
+ . Make directory where output is placed configurable, and create the parent dir
+ if it doesn't exist (Closes: Trac#1)
fixed 'make install' bug that failed if /etc/backup.d already existed
changed spaces to tabs in Makefile.am
diff --git a/examples/example.rsync b/examples/example.rsync
new file mode 100644
index 0000000..2902d0b
--- /dev/null
+++ b/examples/example.rsync
@@ -0,0 +1,124 @@
+#
+# rsync handler example file
+#
+# Mandatory options are uncommented with sugested values
+# Other options are commented out with their default values
+#
+# Note: You dont need to manually specify vservers using "include = /vservers".
+# They're automatically backuped if vserver is set to "yes" on you backupninja.conf.
+
+[general]
+
+# rsync log file
+#log = /var/log/backup/rsync.log
+
+# partition device where the backup lives
+# just use this option if your data is backed up in a separate partition and
+# you want backupninja to fsck it; this option will just be used if fscheck
+# (see below) is set to 'yes'
+#partition =
+
+# backup partition mountpoint or backup main folder
+# this doesn't need to be a real partition, but should be at least the
+# main folder where the backup is being stored
+mountpoint = /mnt/backup
+
+# folder relative do mountpoint where the backup should be stored
+backupdir = myserver
+
+# number of backup increments (min = 5)
+days = 7
+
+# set to 1 if fsck should run on partition after the backup is made
+#fscheck =
+
+# set to 1 if $partition is mounted read-only
+#read_only =
+
+# use this if you need a lockfile to be kept during backup execution
+# this is an useful feature in case you have some tasks that should
+# know if the backup is running or not
+#lockfile =
+
+# rsync command nice level
+#nicelevel = 0
+
+# set to "yes" if your system isnt handling timestamps correctly
+#enable_mv_timestamp_bug = no
+
+# temp folder
+#tmp = /tmp
+
+[source]
+
+# where the data to be backed up is (local or remote)
+#from = local
+
+# when "yes", test the connection for a remote source before backup
+#testconnect = no
+
+# include folder on backup
+include = /etc
+include = /var
+
+# exclude folder on backup
+exclude = exclude_folder1
+exclude = exclude_folder2
+
+# exlude some vserver from backup
+# this is used only if vservers = yes on backupninja.conf
+exclude_vserver = excluded_vserver1
+exclude_vserver = excluded_vserver2
+
+# ssh command line (remote only)
+#ssh = ssh
+
+# rsync program
+# it defaults to $RSYNC value from backupninja.conf
+#rsync = $RSYNC
+
+# rsync command options
+#rsync_options = "-av --delete"
+
+# when set to 1, use numeric ids instead of user/group mappings on rsync
+#numericids = 0
+
+# if set to 1, compress data on rsync (remote source only)
+#compress = 0
+
+# set a badnwidth limit in kbps (remote source only)
+#bandwidthlimit =
+
+# remote rsync program (remote source only)
+#remote_rsync = rsync
+
+# This section is used to stop and start services that should be turned of
+# during the backup procedure.
+#
+#[services]
+#
+# absolute path where scripts are located
+#initscripts =
+#
+# script name to be stoped at the begining of the backup and started at its end
+#service =
+
+# You can also specify some system comands if you don't want the default system values
+# by enabling the section below.
+#
+#[system]
+#
+# rm command
+#rm = rm
+#
+# cp command
+#cp = cp
+#
+# touch command
+#touch = touch
+#
+# mv command
+#mv = mv
+#
+# fsck command
+#fsck = fsck
diff --git a/examples/example.sys b/examples/example.sys
index 2af2c50..9081334 100644
--- a/examples/example.sys
+++ b/examples/example.sys
@@ -21,6 +21,8 @@
# here are the defaults, commented out:
+# The output from the sys handler will be placed in $parentdir
+# parentdir = /var/backups
# packages = yes
# packagesfile = /var/backups/dpkg-selections.txt
diff --git a/handlers/sys.in b/handlers/sys.in
index 2e181c8..b6c7fbc 100755
--- a/handlers/sys.in
+++ b/handlers/sys.in
@@ -32,35 +32,41 @@ else
warning "Unknown OS detected!"
fi
+getconf parentdir /var/backups
getconf packages yes
getconf dosfdisk yes
getconf dohwinfo yes
+
+if [ ! -d $parentdir ]; then
+ mkdir -p $parentdir
+fi
+
if [ $os = "debian" ]
then
- getconf packagesfile /var/backups/dpkg-selections.txt
+ getconf packagesfile $parentdir/dpkg-selections.txt
getconf packagemgr `which dpkg`
getconf packagemgroptions ' --get-selections *'
elif [ $os = "redhat" ]
then
- getconf packagesfile /var/backups/rpmpackages.txt
+ getconf packagesfile $parentdir/rpmpackages.txt
getconf packagemgr `which rpm`
getconf packagemgroptions ' -qa '
getconf SYSREPORT `which sysreport`
getconf sysreport_options ' -norpm '
else
- getconf packagesfile /var/backups/unknownOS.txt
+ getconf packagesfile $parentdir/unknownOS.txt
fi
packagemgroptions="${packagemgroptions//__star__/*}"
getconf partitions yes
-getconf partitionsfile /var/backups/partitions.__star__.txt
+getconf partitionsfile $parentdir/partitions.__star__.txt
getconf hardware yes
-getconf hardwarefile /var/backups/hardware.txt
+getconf hardwarefile $parentdir/hardware.txt
getconf sysreport yes
-getconf sysreportfile /var/backups/sysreport.txt
+getconf sysreportfile $parentdir/sysreport.txt
getconf SFDISK `which sfdisk`
getconf HWINFO `which hwinfo`