Well, once again I was presented with a nice AutoSupport warning once I logged into my NOW account. Since we don’t have CIFS and/or NFS licensed on our filers, I wrote a cute little script that does the whole work for me.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
; html-script: false ]#!/bin/bash TMPDIR="$( mktemp -d )" KEY_FILE="/root/.ssh/netapp.dsa" SSH_OPTS="/root/.ssh/netapp-ssh_config" FAS_CTRL=$1 QUALDEVICES=$2 ssh_fas() { # $@: commands for Data ONTAP COMMANDS="$@" /usr/bin/ssh -i $KEY_FILE -l root -F $SSH_OPTS $COMMANDS } #set -x echo "Updating qual_devices on $FAS_CTRL" # Enable ftpd if it isn't enabled already echo -n "Checking FTP subsystem" FTPD_INITIAL_STATE="$( ssh_fas $FAS_CTRL options ftpd.enable | awk '{ print $2 }' )" if [ $FTPD_INITIAL_STATE == "off" ] ; then ssh_fas $FAS_CTRL options ftpd.enable on echo " .... ok" else echo " .... ok" fi echo read -s -p "Please supply the root password for $FAS_CTRL: " ROOT_PASSWD=$REPLY echo echo "Checking qual_devices:" echo -n " Running: " mkdir $TMPDIR/fas-version # Check the old version. ftp -n $FAS_CTRL >/dev/null <<END_SCRIPT prompt user root $ROOT_PASSWD lcd $TMPDIR/fas-version cd /etc mget qual_devices* quit END_SCRIPT FAS_VERSION="$( grep Datecode $TMPDIR/fas-version/qual_devices_v3 | head -n1 | cut -d -f3 )" echo "$FAS_VERSION" # Unzip the qual_devices.zip file and compare it. ORIGPWD=$PWD mkdir $TMPDIR/new-version cd $TMPDIR/new-version unzip $QUALDEVICES >/dev/null echo -n " New: " NEW_VERSION="$( grep Datecode $TMPDIR/new-version/qual_devices_v3 | head -n1 | cut -d -f3 )" echo "$NEW_VERSION" echo # Upload the supplied version if the new file doesn't match the one running # on the controller if [ $NEW_VERSION != $FAS_VERSION ] ; then echo "Uploading qual_devices to $FAS_CTRL" ftp -n $FAS_CTRL >/dev/null <<END_SCRIPT prompt user root $ROOT_PASSWD lcd $TMPDIR/new-version cd /etc mput qual_devices* quit END_SCRIPT # Send an asup message, that the issue is corrected echo "Generating AutoSupport message" ssh_fas $FAS_CTRL options autosupport.doit qual_devices_fixed_$NEW_VERSION fi #set +x # Enable ftpd if [ $FTPD_INITIAL_STATE == "off" ] ; then ssh_fas $FAS_CTRL options ftpd.enable off fi rm -r $TMPDIR |
The whole thing is surly based, that FTP is configured (as I described previously).