【正文】
NTH/$DAY ]。then mkdir p $TARGET_DIR/$YEAR/$MONTH/$DAY echo e \033[32mThe $TARGET_DIR Created Successfully !\033[0mfiEXEC Full_Backup Function CommandFull_Backup(){if [ $WEEK eq 7 ]。then rm rf $TARGET_DIR/snapshot cd $TARGET_DIR/$YEAR/$MONTH/$DAY 。tar g $TARGET_DIR/snapshot czvf $FILES ${SOURCE_DIR[@]} [ $CODE == 0 ]amp。amp。echo e \n\033[32mThese Full_Backup System Files Backup Successfully !\033[0mfi}Perform incremental BACKUP Function CommandAdd_Backup(){ if [ $WEEK ne 7 ]。then cd $TARGET_DIR/$YEAR/$MONTH/$DAY 。tar g $TARGET_DIR/snapshot czvf $A_NAME$FILES ${SOURCE_DIR[@]} [ $CODE == 0 ]amp。amp。echo e \n\033[32mThese Add_Backup System Files $TARGET_DIR/$YEAR/$MONTH/$DAY/${YEAR}_$A_NAME$FILES Backup Successfully !\033[0m fi}sleep 3 Full_Backup。Add_Backup15. Shell編程之系統(tǒng)硬件信息數(shù)據(jù)庫收集首先我們創(chuàng)建數(shù)據(jù)庫表,格式如下:CREATE TABLE `audit_audit_system` ( `id` int(11) NOT NULL AUTO_INCREMENT, `ip_info` varchar(50) NOT NULL, `serv_info` varchar(50) NOT NULL, `cpu_info` varchar(50) NOT NULL, `disk_info` varchar(50) NOT NULL, `mem_info` varchar(50) NOT NULL, `load_info` varchar(50) NOT NULL, `mark_info` varchar(50) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ip_info` (`ip_info`), UNIQUE KEY `ip_info_2` (`ip_info`) )。然后編寫腳本如下:!/bin/shauto get system infoauthor wugk 20140829echo e \033[34m \033[1mcat EOF++++++++++++++++++++++++++++++++++++++++++++++++++++++Wele to use system Collect+++++++++++++++++++++++++++++++++++++++++++++++++++++++EOFip_info=`ifconfig |grep Bcast|tail 1 |awk 39。{print $2}39。|cut d: f 2`cpu_info1=`cat /proc/cpuinfo |grep 39。model name39。|tail 1 |awk F: 39。{print $2}39。|sed 39。s/^ //g39。|awk 39。{print $1,$3,$4,$NF}39。`cpu_info2=`cat /proc/cpuinfo |grep physical id|sort |uniq c|wc l`serv_info=`hostname |tail 1`disk_info=`fdisk l|grep Disk|grep v identifier|awk 39。{print $2,$3,$4}39。|sed 39。s/,//g39。`mem_info=`free m |grep Mem|awk 39。{print Total,$1,$2M}39。`load_info=`uptime |awk 39。{print Current Load: $(NF2)}39。|sed 39。s/\,//g39。`mark_info=39。BeiJing_IDC39。echo e \033[32m\033[1mecho IPADDR:${ip_info}echo HOSTNAME:$serv_infoecho CPU_INFO:${cpu_info1} X${cpu_info2}echo DISK_INFO:$disk_infoecho MEM_INFO:$mem_infoecho LOAD_INFO:$load_infoecho e \033[32m\033[0mecho e n \033[36mYou want to write the data to the databases? \033[1m 。read ensureif [ $ensure == yes o $ensure == y o $ensure == Y ]。then echo echo e 39。\033[31mmysql uaudit p123456 D audit e 39。39。39。 insert into audit_audit_system values(39。39。,39。${ip_info}39。,39。$serv_info39。,39。${cpu_info1} X${cpu_info2}39。,39。$disk_info39。,39。$mem_info39。,39。$load_info39。,39。$mark_info39。) 39。39。39。 \033[0m 39。else echo wait exit...... exitfi讀取數(shù)據(jù)庫信息:mysql uroot p123 e 39。use wugk1 。select * from audit_audit_system。39。|sed 39。s///g39。|grep v id這樣,我們可以把數(shù)據(jù)庫的內(nèi)容在shell腳本里面調(diào)用出來。16. Shell編程之磁盤報警高級腳本Mail s “郵件主題” c”抄送地址” b “密送地址” f 發(fā)送人郵件地址 –F 發(fā)件人姓名 要發(fā)送的郵件內(nèi)容17. Shell編程之服務監(jiān)控檢查腳本18. Shell編程之實戰(zhàn)WEB界面展示一19. Shell編程之實戰(zhàn)WEB界面展示二20. Shell編程之學習心得分享及拓展