Sample script – Cisco ASA 5505 User Manual

Page 1845

Advertising
background image

81-11

Cisco ASA 5500 Series Configuration Guide using the CLI

Chapter 81 Managing Software and Configurations

Backing Up Configuration Files or Other Files

Step 4

The system prompts you for values for each option. Alternatively, you can enter values for the options
when you enter the Perl scriptname command before you press Enter. Either way, the script requires
that you enter a value for each option.

Step 5

The script starts running, printing out the commands that it issues, which provides you with a record of
the CLIs. You can use these CLIs for a later restore, which is particularly useful if you want to restore
only one or two files.

Sample Script

#!/usr/bin/perl

#Function: Backup/restore configuration/extensions to/from a TFTP server.

#Description: The objective of this script is to show how to back up

configurations/extensions before the backup/restore command is developed.

# It currently backs up the running configuration, all extensions imported via “import

webvpn” command, the CSD configuration XML file, and the DAP configuration XML file.

#Requirements: Perl with Expect, SSH to the ASA, and a TFTP server.

#Usage: backupasa -option option_value

# -h: ASA hostname or IP address

# -u: User name to log in via SSH

# -w: Password to log in via SSH

# -e: The Enable password on the security appliance

# -p: Global configuration mode prompt

# -s: Host name or IP address of the TFTP server to store the configurations

# -r: Restore with an argument that specifies the file name. This file is produced

during backup.

#If you don't enter an option, the script will prompt for it prior to backup.

#

#Make sure that you can SSH to the ASA.

use Expect;

use Getopt::Std;

#global variables

%options=();

$restore = 0; #does backup by default

$restore_file = ‘’;

$asa = ‘’;

$storage = ‘’;

$user = ‘’;

$password = ‘’;

$enable = ‘’;

$prompt = ‘’;

$date = `date +%F’;

chop($date);

my $exp = new Expect();

getopts(“h:u:p:w:e:s:r:”,\%options);

do process_options();

do login($exp);

do enable($exp);

if ($restore) {

do restore($exp,$restore_file);

}

else {

$restore_file = “$prompt-restore-$date.cli”;

open(OUT,”>$restore_file”) or die “Can't open $restore_file\n”;

do running_config($exp);

do lang_trans($exp);

Advertising