diff options
Diffstat (limited to 'functions/tech-support-brief')
-rwxr-xr-x | functions/tech-support-brief | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/functions/tech-support-brief b/functions/tech-support-brief deleted file mode 100755 index 2c627d0..0000000 --- a/functions/tech-support-brief +++ /dev/null @@ -1,145 +0,0 @@ -# implement "show tech-support brief" -# usage: tech-support [brief] [ save [ <filename> ] ] -# NOTE: this file is sourced, NOT executed - -function header { - echo - echo ---------------- - echo "$*" - echo ---------------- -} - -# by default send to stdout -OUT=1 -FLAG=0 -REMOTE=0 -DEFAULT_PATH=/config/support -DEFAULT_GROUP=users - -do_rotate () -{ - local count=`ls -t $DEFAULT_PATH/*.tech-support.* 2>/dev/null |wc -l` - if (( count >= 100 )); then - local dfile=`ls -t $DEFAULT_PATH/*.tech-support.* 2>/dev/null |tail -1` - rm -f $dfile >&/dev/null \ - && echo "Removed old tech-support brief output file '$dfile'" - fi -} - -HOSTNAME=`hostname` -CURTIME=`date +%F-%H%M%S` -if [ "$1" == "save-uncompressed" ]; then - FLAG="1" -elif [ "$1" == "save" ]; then - FLAG="0" -fi - -if [ "$1" == "save" ] || [ "$1" == "save-uncompressed" ]; then - # "save" or save-uncompressed is specified. save output to file. - OUT="$HOSTNAME.tech-support.$CURTIME.txt" - if [ -n "$2" ]; then - if [[ "$2" =~ scp:///* || "$2" =~ ftp:///* ]]; then - REMOTE="1" - else - #file to be save locally - OUT="$2.$OUT" - fi - fi - - if [[ $OUT != /* ]]; then - # it's not absolute path. save in default path. - mkdir -p $DEFAULT_PATH >& /dev/null - chgrp $DEFAULT_GROUP $DEFAULT_PATH >& /dev/null - chmod 775 $DEFAULT_PATH >& /dev/null - OUT="$DEFAULT_PATH/$OUT" - do_rotate - fi - if ! touch $OUT >& /dev/null; then - echo "Cannot create tech-support file '$OUT'" - exit 1 - fi - if [ $REMOTE != "1" ]; then - echo "Saving output to '$OUT'..." - fi -fi - -( -export PATH=/sbin:/usr/sbin:$PATH - -header Show Tech-Support Brief -header CONFIGURATION - - -header VyOS Version and Package Changes -show version all - -header Running configuration -show configuration - -header INTERFACES - -header Interfaces -show interfaces - -header ROUTING - -function show_route_limit () -{ - NUM=$(show $1 route $2 | wc -l) - # subtract 3 lines of header - [ $NUM -gt 3 ] && NUM=$[$NUM - 3] - OUTPUT=$(echo show $1 route $2 \(total $NUM\)) - CMD="show $1 route $2" - if [ $3 -eq 0 ] - then - header $OUTPUT - vtysh -c "$CMD" - else - header "$OUTPUT- limit $3" - vtysh -c "$CMD" | head -n $3 - fi -} - -# -# show all connected/static, limit the output others and include a total -# -show_route_limit ip connected 0 -show_route_limit ip static 0 -show_route_limit ip rip 500 -show_route_limit ip ospf 500 -show_route_limit ip bgp 500 -show_route_limit ip '' 500 - -show_route_limit ipv6 connected 0 -show_route_limit ipv6 static 0 -show_route_limit ipv6 ripng 500 -show_route_limit ipv6 ospf6 500 -show_route_limit ipv6 bgp 500 -show_route_limit ipv6 '' 500 - - -header Recent 100 Log Messages -show log tail 100 - -header "END OF TECH-SUPPORT BRIEF FILE" -) 1>&$OUT 2>&1 - -if [ $OUT != "1" ]; then - chgrp $DEFAULT_GROUP $OUT >& /dev/null - chmod 664 $OUT >& /dev/null - if [ $FLAG == "0" ]; then - gzip $OUT - OUT=$OUT.gz - if [ $REMOTE != "1" ]; then - echo "File $OUT is the compressed file." - fi - fi - - if [ $REMOTE != "1" ]; then - echo "Done." - fi -fi - -if [ $REMOTE == "1" ]; then - python3 -c "from vyos.remote import upload; upload(\"$OUT\", \"$2\")" -fi |