Cover V06, I11
Article
Listing 1

nov97.tar


Listing 1: Backup script

#!/usr/bin/perl

# *************************
# General Use Backup Script
# *************************
#
#      Mark L. Nassal
#          1997
#
# *************************

system "clear";

# Create Menu

print "Interactive Backup Script\n";
print "===================================\n";
print " \n";

print "1. Monthly Backup\n";
print "2. Weekly Backup\n";
print "3. Daily Backup\n";
print "4. Exit\n";

print " \n";
print "===================================\n";

print " \n";
print "Enter choice (1,2,3,4):  ";
$answere = <>;

chomp $answere;

if ($answere eq "1" ) {

# Open log file

$blog = "/var/log/backup.log";
open (BACKU,">>$blog") || die "Cant open the log file $!";

print BACKU "================================================\n";

# *****************************************************
# Edit tape devices, tape length, and path to meet
# your needs. I have repeated the device list in each
# if statement so you can use larger devices for full
# dumps and smaller devices for dailys.
# *****************************************************


system "mt -f /dev/st0 rewind";

system "/sbin/dump 0unfB /dev/nst0 2048000 /usr";
system "/sbin/dump 0unfB /dev/nst0 2048000 /home";
system "/sbin/dump 0unfB /dev/nst0 2048000 /export";
system "/sbin/dump 0unfB /dev/nst0 2048000 /opt";

system "mt -f /dev/st0 offline";

# ****************************************************
# ****************************************************

$dumpdate = "/etc/dumpdates";
open (DFILE,"<$dumpdate") || die "Cant open /etc/dumpdates";

while(<DFILE>){
print BACKU
}
exit()

}

elsif ($answere eq "2" ) {

# Open log file

$blog = "/var/log/backup.log";
open (BACKU,">>$blog") || die "Cant open the log file $!";

print BACKU "================================================\n";

# *****************************************************
# Edit tape devices, tape length, and path to meet
# your needs. I have repeated the device list in each
# if statement so you can use larger devices for full
# dumps and smaller devices for dailys.
# *****************************************************


system "mt -f /dev/st0 rewind";

system "/sbin/dump 5unfB /dev/nst0 2048000 /usr";
system "/sbin/dump 5unfB /dev/nst0 2048000 /home";
system "/sbin/dump 5unfB /dev/nst0 2048000 /export";
system "/sbin/dump 5unfB /dev/nst0 2048000 /opt";

system "mt -f /dev/st0 offline";

# ****************************************************
# ****************************************************

$dumpdate = "/etc/dumpdates";
open (DFILE,"<$dumpdate") || die "Cant open /etc/dumpdates";

while(<DFILE>){
print BACKU
}
exit()

}

elsif ($answere eq "3" ) {

# Open log file

$blog = "/var/log/backup.log";
open (BACKU,">>$blog") || die "Cant open the log file $!";

print BACKU "================================================\n";

# *****************************************************
# Edit tape devices, tape length, and path to meet
# your needs. I have repeated the device list in each
# if statement so you can use larger devices for full
# dumps and smaller devices for dailys.
# *****************************************************


system "mt -f /dev/st0 rewind";

system "/sbin/dump 5unfB /dev/nst0 2048000 /usr";
system "/sbin/dump 5unfB /dev/nst0 2048000 /home";
system "/sbin/dump 5unfB /dev/nst0 2048000 /export";
system "/sbin/dump 5unfB /dev/nst0 2048000 /opt";

system "mt -f /dev/st0 offline";

# ****************************************************
# ****************************************************

$dumpdate = "/etc/dumpdates";
open (DFILE,"<$dumpdate") || die "Cant open /etc/dumpdates";

while(<DFILE>){
print BACKU
}
exit()

}

elsif ($answere eq "4" ) {
&quit_app();
}

else {
print "You must enter a number between 1 and 4\n";
exit();
}


sub quit_app {
print "bye\n";
exit();
}

# *************
# End of Script
# *************