Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1858812
  • 博文数量: 117
  • 博客积分: 2559
  • 博客等级: 少校
  • 技术积分: 4385
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-13 20:08
个人简介

作为初学者,要想取得进步,成为高手,首先应该了解自己的不足之处.

文章分类

全部博文(117)

文章存档

2014年(1)

2013年(25)

2012年(13)

2011年(77)

2010年(1)

分类: 系统运维

2012-01-18 18:23:31

  1. #!/bin/bash
  2. # This program is ...
  3. # scriptname: check_backup.sh

  4. set -e
  5. set -u
  6. TIME_YM=`date +%Y%m`
  7. TIME_DAY=`date +%d`
  8. DIR_BACKUP='/tmp/backup'
  9. DIR_LOG="$DIR_BACKUP/log"
  10. LOG="$DIR_BACKUP/log/check_backup.$TIME_YM$TIME_DAY.log"
  11. MAIL='XX@XX.com'

  12. if [ ! -d $DIR_LOG ]; then
  13. mkdir -p $DIR_LOG
  14. fi
  15. #show hosts
  16. echo "check host's list"|tee -a $LOG
  17. ls -1 $DIR_BACKUP|tee -a $LOG
  18. #显示backup目录下面的所有文件
  19. #list file
  20. echo "byte filename"|tee -a $LOG
  21. for HOSTNAMES in ` ls $DIR_BACKUP|xargs `
  22. do
  23. DIR_TODAY="$DIR_BACKUP/$HOSTNAMES/$TIME_YM/$TIME_DAY"
  24. if [ -e $DIR_TODAY ]; then
  25. cd $DIR_TODAY
  26. echo "****** $HOSTNAMES"|tee -a $LOG
  27. ls * -l|gawk '/gz/||/cnf/ {printf "%-20s %s\n",$5,$9}' |tee -a $LOG
  28. #关键部分,gawk,printf格式化字符串
  29. else
  30. echo "****** $HOSTNAMES"|tee -a $LOG
  31. echo "Hostname: $HOSTNAMES" without the latest backup files |tee -a $LOG
  32. fi
  33. done
  34. #send mail
  35. if [ -r $LOG ]; then
  36. cat $LOG |mail -s check_backup_status $MAIL
  37. else
  38. echo "backup is error" |mail -s backuperror $MAIL
  39. fi
  40. #把日志内容通过邮件发送.
阅读(3570) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~