--- /dev/null
+From bacula-users-admin@lists.sourceforge.net Sat Jan 31 05:42:42 2004
+Return-Path: <bacula-users-admin@lists.sourceforge.net>
+Received: from sc8-sf-list2.sourceforge.net (lists.sourceforge.net
+ [66.35.250.206]) by matou.sibbald.com (8.12.10/8.12.10) with ESMTP id
+ i0V4ggtH005859 for <kern@sibbald.com>; Sat, 31 Jan 2004 05:42:42 +0100
+Received: from localhost ([127.0.0.1] helo=projects.sourceforge.net) by
+ sc8-sf-list2.sourceforge.net with esmtp (Exim 4.30) id 1Amms2-0004RT-4e;
+ Fri, 30 Jan 2004 20:36:38 -0800
+Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.11]
+ helo=sc8-sf-mx1.sourceforge.net) by sc8-sf-list2.sourceforge.net with esmtp
+ (Exim 4.30) id 1Ammo5-0002Tt-2F for bacula-users@lists.sourceforge.net;
+ Fri, 30 Jan 2004 20:32:33 -0800
+Received: from www.abis.be ([195.0.32.120] helo=xenophon.abis.be) by
+ sc8-sf-mx1.sourceforge.net with esmtp (Exim 4.30) id 1AmbFN-0008Hu-99 for
+ bacula-users@lists.sourceforge.net; Fri, 30 Jan 2004 08:11:57 -0800
+Received: from tosfeb32.abis.be ([194.78.5.1]) by xenophon.abis.be
+ (8.11.6/8.11.6) with SMTP id i0UGBI715849 for
+ <bacula-users@lists.sourceforge.net>; Fri, 30 Jan 2004 17:11:18 +0100
+Received: by tosfeb32.abis.be(Lotus SMTP MTA v4.6.5 (863.2 5-20-1999)) id
+ C1256E2B.0058F4EE ; Fri, 30 Jan 2004 17:11:38 +0100
+X-Lotus-FromDomain: ABIS
+From: "Johan Decock" <jdecock@abis.be>
+To: bacula-users@lists.sourceforge.net
+Message-ID: <C1256E2B.0058F381.00@tosfeb32.abis.be>
+Subject: Re: [Bacula-users] cdwriter
+Mime-Version: 1.0
+Content-type: multipart/mixed; Boundary="0__=dQlRuu8umGKzn67woQcbAbtp1kVJLJuYIqUZPSjcX1GgjEHuWdvHDqOX"
+Content-Disposition: inline
+X-Spam-Score: 1.1 (+)
+X-Spam-Report: Spam Filtering performed by sourceforge.net. See
+ http://spamassassin.org/tag/ for more details. Report problems to
+ http://sf.net/tracker/?func=add&group_id=1&atid=200001 1.1
+ MIME_BASE64_LATIN RAW: Latin alphabet text using base64 encoding
+Sender: bacula-users-admin@lists.sourceforge.net
+Errors-To: bacula-users-admin@lists.sourceforge.net
+X-BeenThere: bacula-users@lists.sourceforge.net
+X-Mailman-Version: 2.0.9-sf.net
+Precedence: bulk
+List-Unsubscribe:
+ <https://lists.sourceforge.net/lists/listinfo/bacula-users>,
+ <mailto:bacula-users-request@lists.sourceforge.net?subject=unsubscribe>
+List-Id: Bacula user's email list for support and discussions
+ <bacula-users.lists.sourceforge.net>
+List-Post: <mailto:bacula-users@lists.sourceforge.net>
+List-Help: <mailto:bacula-users-request@lists.sourceforge.net?subject=help>
+List-Subscribe:
+ <https://lists.sourceforge.net/lists/listinfo/bacula-users>,
+ <mailto:bacula-users-request@lists.sourceforge.net?subject=subscribe>
+List-Archive:
+ <http://sourceforge.net/mailarchive/forum.php?forum=bacula-users>
+Date: Fri, 30 Jan 2004 17:11:34 +0100
+
+
+--0__=dQlRuu8umGKzn67woQcbAbtp1kVJLJuYIqUZPSjcX1GgjEHuWdvHDqOX
+Content-type: text/plain; charset=us-ascii
+Content-Disposition: inline
+Content-Transfer-Encoding: 8bit
+
+
+
+Hi Alex,
+
+I thought it would be easy to find them in the archives. I'll post them again. I changed some things in them anyway in the mean time. I also include the Director config. Then you see how they are to be used in Runbefore- and RunafterJobs
+
+I'm interested in any remarks or improvements you might have. (I'm still getting started in shell scripting)
+
+
+#
+# Default Bacula Director Configuration file
+#
+# The only thing that MUST be changed is to add one or more
+# file or directory names in the Include directive of the
+# FileSet resource.
+#
+# For Bacula release 1.32b (14 Oct 2003) -- mandrake (FiveStar)
+#
+# You might also want to change the default email address
+# from root to your address. See the "mail" and "operator"
+# directives in the Messages resource.
+#
+
+Director { # define myself
+ Name = tosfeb33-dir
+ DIRport = 9101 # where we listen for UA connections
+ QueryFile = "/etc/bacula/query.sql"
+ WorkingDirectory = "/var/bacula/working"
+ PidDirectory = "/var/run"
+ Maximum Concurrent Jobs = 1
+ Password = "abis" # Console password
+ Messages = Standard
+}
+
+Job {
+ Name = "Tosfeb31AllHDD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb31-fd
+ FileSet = "Tosfeb31All"
+ Schedule = "Weekdays"
+ Messages = Standard
+ Pool = HDD
+ Storage = HDdrive
+ RunBeforeJob = "/etc/bacula/prepare_DVDspool /mnt/backupdaily 1700000"
+ Write Bootstrap = "/var/bacula/working/Tosfeb31All.bsr"
+ Priority = 10
+}
+
+Job {
+ Name = "Tosfeb31AllUSB"
+ Type = Backup
+ Level = Full
+ Client = tosfeb31-fd
+ FileSet = "Tosfeb31All"
+ Schedule = "WeeklyUSB"
+ Messages = Standard
+ Pool = USB
+ Storage = USBdrive
+ Write Bootstrap = "/var/bacula/working/Tosfeb31All.bsr"
+ Priority = 10
+}
+
+Job {
+ Name = "Tosfeb31EssentialDVD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb31-fd
+ FileSet = "Tosfeb31Essential"
+ Schedule = "MonthlyDVD"
+ Messages = Standard
+ Pool = DVD
+ Storage = DVDdrive
+ RunBeforeJob = "/etc/bacula/prepare_DVDspool /mnt/backupdaily 4700000"
+ Write Bootstrap = "/var/bacula/working/Tosfeb31Essential.bsr"
+ RunAfterJob = "/etc/bacula/inventorize_volumes %v"
+ Priority = 10
+}
+
+Job {
+ Name = "Tosfeb31AllCompressedDVD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb31-fd
+ FileSet = "Tosfeb31AllCompressed"
+ Messages = Standard
+ Pool = DVD
+ Storage = DVDdrive
+ RunBeforeJob = "/etc/bacula/prepare_DVDspool /mnt/backupdaily 4700000"
+ Write Bootstrap = "/var/bacula/working/Tosfeb31Essential.bsr"
+ RunAfterJob = "/etc/bacula/inventorize_volumes %v"
+ Priority = 10
+}
+
+Job {
+ Name = "Tosfeb32AllHDD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb32-fd
+ FileSet = "Tosfeb32All"
+ Schedule = "Weekdays"
+ Messages = Standard
+ Pool = HDD
+ Storage = HDdrive
+ Write Bootstrap = "/var/bacula/working/Tosfeb32All.bsr"
+ Priority = 20
+}
+
+Job {
+ Name = "Tosfeb32AllUSB"
+ Type = Backup
+ Level = Full
+ Client = tosfeb32-fd
+ FileSet = "Tosfeb32All"
+ Schedule = "WeeklyUSB"
+ Messages = Standard
+ Pool = USB
+ Storage = USBdrive
+ Write Bootstrap = "/var/bacula/working/Tosfeb32All.bsr"
+ Priority = 10
+}
+
+Job {
+ Name = "Tosfeb32EssentialDVD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb32-fd
+ FileSet = "Tosfeb32Essential"
+ Schedule = "MonthlyDVD"
+ Messages = Standard
+ Pool = DVD
+ Storage = DVDdrive
+ Write Bootstrap = "/var/bacula/working/Tosfeb32System.bsr"
+ RunAfterJob = "/etc/bacula/inventorize_volumes %v"
+ Priority = 20
+}
+
+#Job {
+# Name = "Tosfeb30System"
+# Type = Backup
+# Level = Full
+# Client = tosfeb30-fd
+# FileSet = "Tosfeb30System"
+# Schedule = "WeeklyUSB"
+# Messages = Standard
+# Pool = USB
+# Storage = USBdrive
+# Write Bootstrap = "/etc/bacula/working/Tosfeb32System.bsr"
+# Priority = 20
+#}
+
+Job {
+ Name = "Tosfeb33SystemHDD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb33-fd
+ FileSet = "Tosfeb33System"
+ Schedule = "Weekdays"
+ Messages = Standard
+ Pool = HDD
+ Storage = HDdrive
+ Write Bootstrap = "/var/bacula/working/Tosfeb33System.bsr"
+ Priority = 30
+}
+
+Job {
+ Name = "Tosfeb33SystemUSB"
+ Type = Backup
+ Level = Full
+ Client = tosfeb33-fd
+ FileSet = "Tosfeb33System"
+ Schedule = "WeeklyUSB"
+ Messages = Standard
+ Pool = USB
+ Storage = USBdrive
+ Write Bootstrap = "/var/bacula/working/Tosfeb33All.bsr"
+ Priority = 30
+}
+
+Job {
+ Name = "Tosfeb33EssentialDVD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb33-fd
+ FileSet = "Tosfeb33Essential"
+ Schedule = "MonthlyDVD"
+ Messages = Standard
+ Pool = DVD
+ Storage = DVDdrive
+ Write Bootstrap = "/var/bacula/working/Tosfeb33Essential.bsr"
+ RunAfterJob = "/etc/bacula/inventorize_volumes %v"
+ Priority = 30
+}
+
+Job {
+ Name = "BackupCatalogHDD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb33-fd
+ FileSet="Catalog"
+ Schedule = "Weekdays"
+ Storage = HDdrive
+ Messages = Standard
+ Pool = HDD
+ # This creates an ASCII copy of the catalog
+ RunBeforeJob = "/etc/bacula/make_catalog_backup -u bacula"
+ # This deletes the copy of the catalog
+ RunAfterJob = "/etc/bacula/delete_catalog_backup"
+ Write Bootstrap = "/var/bacula/working/BackupCatalog.bsr"
+ Priority = 90 # run after main backup
+}
+
+Job {
+ Name = "BackupCatalogUSB"
+ Type = Backup
+ Level = Full
+ Client = tosfeb33-fd
+ FileSet="Catalog"
+ Schedule = "WeeklyUSB"
+ Storage = USBdrive
+ Messages = Standard
+ Pool = USB
+ # This creates an ASCII copy of the catalog
+ RunBeforeJob = "/etc/bacula/make_catalog_backup -u bacula"
+ # This writes the volume file to the proper USB device
+ RunAfterJob = "/etc/bacula/write_to_USB %v"
+# RunAfterJob = "/etc/bacula/delete_catalog_backup"
+ Write Bootstrap = "/var/bacula/working/BackupCatalog.bsr"
+ Priority = 90 # run after main backup
+}
+
+Job {
+ Name = "BackupCatalogDVD"
+ Type = Backup
+ Level = Full
+ Client = tosfeb33-fd
+ FileSet="Catalog"
+ Schedule = "MonthlyDVD"
+ Storage = DVDdrive
+ Messages = Standard
+ Pool = DVD
+ # This creates an ASCII copy of the catalog
+ RunBeforeJob = "/etc/bacula/make_catalog_backup -u bacula"
+ # This writes the volume file to a DVD
+ RunAfterJob = "/etc/bacula/write_to_DVD %v"
+ Write Bootstrap = "/var/bacula/working/BackupCatalog.bsr"
+ Priority = 90 # run after main backup
+}
+
+# Standard Restore template, to be changed by Console program
+Job {
+ Name = "RestoreFiles"
+ Type = Restore
+ Client = tosfeb33-fd
+ FileSet="Full Set"
+ Storage = HDdrive
+ Messages = Standard
+ Pool = HDD
+ Where = /tmp/bacula-restores
+}
+
+# List of files to be backed up
+FileSet {
+ Name = "Full Set"
+ Include = signature=MD5 portable=yes {
+#
+# Put your list of files here, one per line or include an
+# external list with:
+#
+# <file-name
+#
+# Note: / backs up everything on the root partition.
+# if you have other partitons such as /usr or /home
+# you will probably want to add them too.
+#
+# By default this is defined to point to the Bacula build
+# directory to give a reasonable FileSet to backup to
+# disk storage during initial testing.
+#
+ /tmp/bacula-1.32b
+ }
+
+#
+# If you backup the root directory, the following two excluded
+# files can be useful
+#
+ Exclude = { /proc /tmp /.journal /.fsck }
+}
+
+#
+# When to do the backups, full backup on first sunday of the month,
+FileSet {
+ Name = "Tosfeb31All"
+ Include = signature=MD5 portable=yes {
+# System of Tosfeb31
+ "C:/"
+# Data1
+ "E:/"
+# Program
+ "F:/"
+# Finance
+ "G:/"
+# Home
+ "H:/"
+ }
+ Exclude = {pagefile.sys, *.[Dd][Mm][Pp]}
+}
+FileSet {
+ Name = "Tosfeb31AllCompressed"
+ Include = signature=MD5 compression=GZIP portable=yes {
+# System of Tosfeb31
+ "C:/"
+# Data1
+ "E:/"
+# Program
+ "F:/"
+# Finance
+ "G:/"
+# Home
+ "H:/"
+ }
+ Exclude = {pagefile.sys, *.[Dd][Mm][Pp]}
+}
+FileSet {
+ Name = "Tosfeb31Essential"
+ Include = signature=MD5 compression=GZIP portable=yes {
+# Data1
+ "E:/"
+# Finance
+ "G:/"
+ }
+ Exclude = {*.[Tt][Mm][Pp], *.backup.fm, *.backup.book}
+}
+FileSet {
+ Name = "Tosfeb32All"
+ Include = signature=MD5 portable=yes {
+# System of Tosfeb32
+ "C:/"
+# NotesData
+ "E:/"
+# Lib
+ "H:/"
+ }
+ Exclude = {pagefile.sys, *.[Dd][Mm][Pp]}
+}
+FileSet {
+ Name = "Tosfeb32Essential"
+ Include = signature=MD5 compression=GZIP portable=yes {
+# NotesData
+ "E:/"
+ }
+ Exclude = {*.[Tt][Mm][Pp]}
+}
+
+FileSet {
+ Name = "Tosfeb33System"
+ Include = signature=MD5 portable=yes {
+ "/bin"
+ "/boot"
+ "/etc"
+ "/home"
+ "/lib"
+ "/root"
+ "/sbin"
+ "/usr"
+ }
+ Exclude = {/var, /proc}
+}
+
+FileSet {
+ Name = "Tosfeb33Essential"
+ Include = signature=MD5 compression=GZIP portable=yes {
+ "/etc"
+ "/root"
+ }
+}
+
+Schedule {
+ Name = "Weekdays"
+ Run = Full tue-fri at 01:00
+}
+
+Schedule {
+ Name = "WeeklyUSB"
+ Run = Full sat at 01:00
+}
+
+Schedule {
+ Name = "MonthlyDVD"
+ Run = Full 1st sat at 04:00 # These will remain on site
+ Run = Full 3rd sat at 04:00 # These will be carried off site
+}
+
+# This is the backup of the catalog
+FileSet {
+ Name = "Catalog"
+ Include = signature=MD5 {
+ /var/bacula/working/bacula.sql
+ }
+}
+
+# Client (File Services) to backup
+Client {
+ Name = tosfeb33-fd
+ Address = tosfeb33.abis.be
+ FDPort = 9102
+ Catalog = MyCatalog
+ Password = "abis" # password for FileDaemon
+ File Retention = 30 days # 30 days
+ Job Retention = 6 months # six months
+ AutoPrune = yes # Prune expired Jobs/Files
+}
+
+Client {
+ Name = tosfeb30-fd
+ Address = tosfeb30.abis.be
+ FDPort = 9102
+ Catalog = MyCatalog
+ Password = "abis"
+ File Retention = 30 days
+ Job Retention = 6 months
+ AutoPrune = yes
+}
+
+Client {
+ Name = tosfeb31-fd
+ Address = tosfeb31.abis.be
+ FDPort = 9102
+ Catalog = MyCatalog
+ Password = "abis"
+ File Retention = 30 days
+ Job Retention = 6 months
+ AutoPrune = yes
+}
+
+Client {
+ Name = tosfeb32-fd
+ Address = tosfeb32.abis.be
+ FDPort = 9102
+ Catalog = MyCatalog
+ Password = "abis"
+ File Retention = 30 days
+ Job Retention = 6 months
+ AutoPrune = yes
+}
+
+# Definiton of file storage device
+
+Storage {
+ Name = HDdrive
+ Address = tosfeb33.abis.be
+ SDPort = 9103
+ Password = "abis"
+ Device = HDdriveStorage
+ Media Type = File
+}
+
+Storage {
+ Name = USBdrive
+ Address = tosfeb33.abis.be
+ SDPort = 9103
+ Password = "abis"
+ Device = USBdriveStorage
+ Media Type = File
+}
+
+Storage {
+ Name = DVDdrive
+ Address = tosfeb33.abis.be
+ SDPort = 9103
+ Password = "abis"
+ Device = DVDdriveStorage
+ Media Type = File
+}
+
+# Generic catalog service
+Catalog {
+ Name = MyCatalog
+ dbname = bacula; user = bacula; password = ""
+}
+
+# Reasonable message delivery -- send most everything to email address
+# and to the console
+Messages {
+ Name = Standard
+ mailcommand = "/usr/sbin/smtp -h tosfeb32.abis.be -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
+ operatorcommand = "/usr/sbin/smtp -h tosfeb32.abis.be -f \"\(Bacula\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
+ mail = jdecock@abis.be = all, !skipped
+ operator = jdecock@abis.be = mount
+ console = all, !skipped, !saved
+#
+# WARNING! the following will create a file that you must cycle from
+# time to time as it will grow indefinitely. However, it will
+# also keep all your messages if they scroll off the console.
+#
+ append = "/etc/bacula/working/log" = all, !skipped
+}
+
+# Pool definition for daily backup on hard disk in backup server
+Pool {
+ Name = HDD
+ Pool Type = Backup
+ Recycle = yes
+# Recycle Oldest Volume = yes
+ Purge Oldest Volume = yes
+ Autoprune = yes
+ Maximum Volumes = 4 # Monday through Thursday
+ Volume Retention = 2 weeks
+ Accept Any Volume = yes
+ Maximum Volume Jobs = 4 # 31, 32, 33 and Catalog
+# Maximum Volume Files = 2
+ Maximum Volume Bytes = 18g
+ Volume Use Duration = 1d
+ Label Format = "HDDVolume"
+}
+
+# Pool definition for weekly backup, first on hard disk,
+#then to be copied on removable USB2 hard disk drives in an AfterRunJob
+Pool {
+ Name = USB
+ Pool Type = Backup
+ Recycle = yes
+ Purge Oldest Volume = yes
+ Autoprune = yes
+ Maximum Volumes = 3 # We have 3 removable USB2 disks
+ Volume Retention = 2 months
+ Accept Any Volume = yes
+ Maximum Volume Jobs = 4 # 31, 32, 33 and Catalog
+ Maximum Volume Bytes = 18g
+ Volume Use Duration = 1d
+ Label Format = "USBVolume"
+}
+
+# Pool definition for monthly backups on DVDspool, to be copied to DVD+/-R media in an AfterRunJob
+Pool {
+ Name = DVD
+ Pool Type = Backup
+ Recycle = no
+ Autoprune = no
+ Volume Retention = 2 years
+ Accept Any Volume = yes
+ Maximum Volume Bytes = 2147483500 # 2 GB is the maximum size of a file on an ISO9660 file system
+ Maximum Volume Jobs = 1 # each backup job gets its own set of volumes
+# Maximum Volume Bytes = 4699990000 # 4 700 000 000 # 4.38 GB is the actual size that will fit on a DVD
+ Volume Use Duration = 1d
+ Label Format = "DVD${Year}-${Month:p/2/0/r}-${Day:p/2/0/r}-${NumVols}"
+}
+
+
+
+prepare_DVDspool:
+
+
+
+#!/bin/bash
+#
+# shell script to initialize environment for creating a backup that will be written to DVD+/-R(W)
+
+# it will need to check whether there is enough space on the path supplied as the first parameter
+# and if there isn't it will need to remove some files.
+
+# it will also remove the file where all the volume names are collected during the backup run.
+
+path=$1 # /mnt/backupdaily
+quota=$2 # 4700000
+
+#Define global variable to hold return value from function
+
+freespace=
+
+# Define function to determine free space on a mount point
+
+FreeSpace () {
+ freespace=`df | grep $path | awk '{print $4}'`
+ if [ 0 -ne `expr index "$freespace" %` ] ; then
+ freespace=`df | grep $path | awk '{print $3}'`
+ fi
+ }
+#Define global variable to hold return value from function
+
+padded=
+
+# Define function to pad a number with spaces to the left for display
+
+PadSpacesToLeft () {
+ stringtopad=$1
+ wantedlength=$2
+
+ while [ ${#stringtopad} -lt $wantedlength ]
+ do
+ stringtopad=" "$stringtopad
+ done
+ padded=$stringtopad
+ }
+
+PadSpacesToLeft $quota 9
+
+echo "How much free space is needed on $path? $padded"
+
+# How much space is there left?
+
+FreeSpace
+
+PadSpacesToLeft $freespace 9
+
+echo "Free space currently available on $path:$padded"
+
+# As long as there isn't enough room, delete the oldest DVD volume files
+while [ $freespace -lt $quota ]
+do
+ # determine which is the oldest DVD volume file in /mnt/backupdaily
+ # ls puts the oldest file on top
+ # head grabs the first line
+ # and awk gets the 9th column of this line, i.e. the file name we were looking for
+ oldestfile=`ls -ralt $path/DVD* | head -n 1 | awk '{print $9}'`
+
+ echo "Deleting: $oldestfile"
+ rm -f $oldestfile
+
+ # assess how much space there is now
+ FreeSpace
+ PadSpacesToLeft $freespace 9
+ echo "Free space currently available on $path:$padded"
+ # and then we test again.
+done
+
+# remove the file where all the volume names will be collected.
+# so we can have a clean run
+
+rm -f /var/bacula/volumes
+
+exit 0
+
+
+inventorize_volumes:
+
+#!/bin/bash
+#
+# shell script to inventorize volumes used during a backup
+volumes=$1
+
+# Replace | character with spaces (necessary for the for command)
+
+volumes=${volumes//|/ }
+
+# For every volume do
+
+for i in $volumes ; do
+ echo $i >> /var/bacula/volumes
+done
+
+exit 0
+
+
+
+write_to_DVD:
+
+#!/bin/bash
+#
+# shell script to copy DVD volume files from /mnt/backupdaily to DVD+/-R(W)
+
+# The last volume was not added to the inventory list yet, so we do that first
+/etc/bacula/inventorize_volumes $1
+
+supermount -m=/mnt/cdrom disable
+
+umount /mnt/cdrom
+
+# another shell script run as a RunAfterJob has been putting the volume names into a text file
+# now we retrieve those names and write them to DVD
+
+# this awk command produces a space delimited list of the lines of the text file and assigns it to $lines
+
+lines=`awk '{print $1}' /var/bacula/volumes`
+
+# now we can iterate over those volume names
+
+let "count=1"
+for i in $lines ; do
+ if [ $count -le 1 ] ; then
+ # When creating a DVD with growisofs one needs to use -Z the first time
+ echo "Writing first volume file" $count
+ growisofs -Z /dev/scd0 -R -J /mnt/backupdaily/$i
+ else
+ # and -M the for the next volume files
+ echo "Writing another volume file" $count
+ growisofs -M /dev/scd0 -R -J /mnt/backupdaily/$i
+ fi
+ let count="$count+1"
+# sleep 5
+ ls -al /mnt/cdrom
+# sleep 5
+done
+
+ls -al /mnt/backupdaily
+mount /mnt/cdrom
+ls -al /mnt/cdrom
+umount /mnt/cdrom
+
+#supermount -m=/mnt/cdrom enable
+
+# This is run as a RunAfterJob of the catalog backup. It already had a RunAfterJob, so we execute that here
+/etc/bacula/delete_catalog_backup
+
+exit 0
+
+
+
+
+This last one is to write to removable USB-storage.
+
+write_to_USB
+
+#!/bin/bash
+#
+# shell script to finalize USB backup
+
+volumename=$1
+echo " Creating mount points, if they don't exist"
+if ! [ -d /mnt/usbdrv ] ; then
+ mkdir /mnt/usbdrv
+fi
+if ! [ -d /mnt/usbdrv/bacula ] ; then
+ mkdir /mnt/usbdrv/bacula
+fi
+if ! [ -d /mnt/usbdrv/misc ] ; then
+ mkdir /mnt/usbdrv/misc
+fi
+ #unmount all mount points related to USB
+
+echo " Making sure no USB devices are mounted"
+umount /mnt/usbdrv
+umount /mnt/usbdrv/bacula
+umount /mnt/usbdrv/misc
+umount /mnt/removable
+umount /mnt/removable2
+umount /mnt/removable3
+
+ #determine which /dev/sd? contains the right USBVolume for this backup
+
+echo " Determining whether the right USB device containing our USBVolume is present physically"
+
+found=nothing
+for i in sda sdb sdc; do
+ sd=$i"1"
+ echo " Trying with $sd"
+ mount /dev/$sd /mnt/usbdrv/bacula -t ext2
+ ls -al /mnt/usbdrv/bacula
+
+ if [ -f /mnt/usbdrv/bacula/$volumename ] ; then
+ found=/dev/$i
+ fi
+
+ umount /mnt/usbdrv/bacula
+done
+
+echo
+echo " Found: $found containing $volumename "
+echo
+if [ $found != nothing ] ; then
+ # mount /mnt/usbdrv/bacula and /mnt/usbdrv/misc on /dev/sd?1 and /dev/sd?5 respectively
+ mount $found"1" /mnt/usbdrv/bacula -t ext2
+ mount $found"5" /mnt/usbdrv/misc -t vfat
+
+ # copy Ghost images of Windows system drives, the contents of /etc/bacula/*
+ # and a text file with restore instructions to /mnt/usbdrv/misc
+
+ echo " Copying Ghost image of TOSFEB31 to /mnt/usbdrv/misc"
+ cp -v /mnt/Ghost/PROD/TOSFEB31/SYSTEMAG.GHO /mnt/usbdrv/misc
+ echo " Copying Ghost image of TOSFEB32 to /mnt/usbdrv/misc"
+ cp -v /mnt/Ghost/PROD/TOSFEB32/COFTF32.GHO /mnt/usbdrv/misc
+ echo " Copying /etc/bacula to /mnt/usbdrv/misc"
+ cp -Rfv /etc/bacula/ /mnt/usbdrv/misc
+ echo " Copying Restore instructions to /mnt/usbdrv/misc"
+ cp -v /etc/bacula/How_To_Restore.txt /mnt/usbdrv/misc
+
+ # copy the current USBVolume to /mnt/usbdrv/bacula overwriting the previous volume file
+ echo
+ echo " Copying Bacula USB-volume to /mnt/usbdrv/bacula"
+
+# cp -fv /mnt/spool/$volumename /mnt/usbdrv/bacula
+
+ # give some feedback about what was done
+
+ echo
+ echo " Directory contents of /mnt/usbdrv/bacula"
+ ls -al /mnt/usbdrv/bacula
+ echo
+ echo " Directory contents of /mnt/usbdrv/misc"
+ ls -al /mnt/usbdrv/misc
+
+ # unmount /mnt/usbdrv/bacula and /mnt/usbdrv/misc
+ echo
+ echo " Unmounting /mnt/usbdrv/... mount points"
+ umount /mnt/usbdrv/bacula
+ umount /mnt/usbdrv/misc
+
+else
+ # send emails if correct medium is not present
+# /usr/sbin/smtp
+ echo "hello"
+fi
+
+# This is run as a RunAfterJob of the catalog backup. It already had a RunAfterJob, so we execute that here
+/etc/bacula/delete_catalog_backup
+
+
+
+
+
+
+From: "Alex Federau" <alex.federau@gmx.ch> on 30/01/2004 15:57 GMT
+
+To: Johan Decock/Abis@Abis
+cc:
+Subject: Re: [Bacula-users] cdwriter
+
+
+
+--0__=dQlRuu8umGKzn67woQcbAbtp1kVJLJuYIqUZPSjcX1GgjEHuWdvHDqOX
+Content-type: text/plain; charset=iso-8859-1
+Content-Disposition: inline
+Content-Transfer-Encoding: 8bit
+
+
+Hi Johan,
+Could you send me the scripts or tell me where they are located. I am
+browsing the mail archive,
+and while I can find several of your mails, I am unable to find your
+scripts. Probably they would be very useful for us.
+
+Cheers
+Alex
+
+
+>
+>
+> Hi Alex,
+>
+> Bacula isn't able to write to CD-R or DVD+/-R directly. This isn't needed
+> though. If you look in the mailing list archive, you will find that I have
+> implemented a solution where the backup volume files are written to DVD+R
+> with some bash scripts. A caveat is that files on an ISO9660 can't be
+larger
+> than 2 GB (Not on Linux anyway). This has kept me busy for a while,
+> looking what was going on and why I wasn't able to read back my DVD's.
+>
+> I hope my scripts are of help to you.
+>
+> Johan
+>
+>
+>
+>
+> From: "Alex Federau" <alex.federau@gmx.ch> on 30/01/2004 14:29 GMT
+>
+> To: bacula-users@lists.sourceforge.net
+> cc: (bcc: Johan Decock/Abis)
+> Subject: [Bacula-users] cdwriter
+>
+>
+>
+
+--
++++ Mailpower für Multimedia-Begeisterte: http://www.gmx.net/topmail +++
+250 MB Mailbox, 1 GB Online-Festplatte, 100 FreeSMS. Jetzt kostenlos testen!
+
+
+
+
+
+
+
+
+--------------------------------------------------------------------------
+ABIS Training & Consulting
+website: http://www.abis.be - e-mail: training@abis.be
+tel: Belgium: (+32)-16-245610 - The Netherlands: (+31)-348-435570
+fax: Belgium: (+32)-16-245691 - The Netherlands: (+31)-348-432493
+--------------------------------------------------------------------------
+--0__=dQlRuu8umGKzn67woQcbAbtp1kVJLJuYIqUZPSjcX1GgjEHuWdvHDqOX--
+
+
+
+-------------------------------------------------------
+The SF.Net email is sponsored by EclipseCon 2004
+Premiere Conference on Open Tools Development and Integration
+See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
+http://www.eclipsecon.org/osdn
+_______________________________________________
+Bacula-users mailing list
+Bacula-users@lists.sourceforge.net
+https://lists.sourceforge.net/lists/listinfo/bacula-users