本程序用于收集,防火墙,路由器,交换机等日志
Bash代码
- #!/bin/bash
- #####################################################################
- # Description: Automation Deployment Script
- # Netkiller series utilities
- # Author: Neo<openunix@
163.com>
- # Homepage: http://netkiller.sourceforge.net/
- # $Id$
- #####################################################################
- if [ -z $DEPLOY_HOME ]; then
- echo
'Example: export DEPLOY_HOME=/srv/deploy'
- exit
- fi
- if [ -f $DEPLOY_HOME/conf/default.conf ];then
- . $DEPLOY_HOME/conf/default.conf
- fi
- #================================================================================
- LOGFILE=
"deploy.$(date -d "today
" +"%Y-%m-%d
").log"
- TMPDIR=$(mktemp -d –suffix=.tmp -p /tmp deploy.XXXXXX)
- #SUBVERSION=
- SVN=/usr/bin/svn
- TIMEPOINT=
11`
date
'+%Y%m%d-%H%M%S'
1 | 1` |
- BACKUPDIR=$TMPDIR/backup/${TIMEPOINT}
- RSYNC=
"rsync"
- UPLOAD_DIR=$TMPDIR
- REVISION=
''
- #================================================================================
- if [ ! -d ${TMPDIR} ]; then
- mkdir ${TMPDIR}
- fi
- if [ ! -d ${BACKUPDIR} ]; then
- mkdir -p $BACKUPDIR
- fi
- #pkgname=${project}-${version}-${datetime}.pkg
- #tar jcvf ${pkgname} /tmp/${project} –remove-files >> deploy.log
- #####################################################################
- function usage(){
- echo $
"Usage: $0 [OPTION] <server-id> <directory/timepoint>"
- echo -ne "
- OPTION:
- deploy <domain> <host>
- revert <domain> <host> <revision>
- backup <domain> <host> <directory>
- list
- list <domain> <host>
- import <domain> <host> <dir>
- export <domain> <host> <dir>
- clean <domain> <host>
- log <project> <line>
- conf list
- conf new <project>
- conf remove <project>
- conf show <project>
- conf edit <project>
- cron show
- cron setup
- cron edit
- "
- exit
- }
- function logging(){
- local logfile=
"$LOGDIR/$LOGFILE"
- local timepoint=$(date -d
"today" +
"%Y-%m-%d_%H:%M:%S")
- local status=$
1
- local message=$
2
- echo
"[$timepoint] [${status}] ${message}" >> $logfile
- }
- #logging
'OK'
'This is test msg!!!'
- function conf(){
- local cmd=$
2
- local prj=$
3
- case $cmd in
- list)
- ls $SYSCONFDIR
- ;;
- new)
- read -p
"Project directory: " prjdir
- if [ -z $prjdir ]; then
- exit
- fi
- if [ -f $SYSCONFDIR/$prjdir.conf ]; then
- echo
"cannot create config $prjdir.conf': File exists"
- exit
1
- fi
- read -p
"subversion url: $REPOSITORIES/: " svnurl
- if [ -z $svnurl ]; then
- svnurl=$REPOSITORIES
- fi
- read -p
"hostname: " host
- if [ -z $host ]; then
- host=
"localhost"
- echo
"default hostname 'localhost'"
- fi
- read -p
"upload mode ftp/scp/sftp/rsync: " mode
- if [ -z $mode ]; then
- mode=ftp
- else
- case $mode in
- ftp)
- mode=
"ftpdeploy"
- ;;
- scp)
- mode=
"scpdeploy"
- ;;
- sftp)
- mode=
"sftpdeploy"
- ;;
- rsync)
- mode=
"rsync"
- ;;
- esac
- fi
- read -p
"Create $prjdir config? [y/n]" -n
1 key
- echo
- if [ $key =
'y' ]; then
- echo -ne "REPOSITORIES=$REPOSITORIES/$svnurl
- COMMAND=$mode
- HOSTNAME=$host
- " >> $SYSCONFDIR/$prjdir.conf
- fi
- ;;
- remove)
- if [ -f $SYSCONFDIR/$prj ]; then
- rm -rf $SYSCONFDIR/$prj
- fi
- ;;
- show)
- cat $SYSCONFDIR/$prj