Chinaunix首页 | 论坛 | 博客
  • 博客访问: 110009
  • 博文数量: 27
  • 博客积分: 573
  • 博客等级: 中士
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 12:59
文章分类

全部博文(27)

文章存档

2012年(3)

2011年(24)

分类: LINUX

2011-09-03 15:23:52

  1. #!/bin/bash
  2. olddir=~/shell
  3. newdir=/media/LinuxShare/backup

  4. # 若切换目录成功,则返回0,否则返回1
  5. cd $newdir 2> /dev/null    && cd $olddir 2> /dev/null
  6. if [ $? != 0 ]
  7. then
  8.     echo "Can not find directory $newdir or $olddir,backup fails." | mailx -s "Backup Notification" iamaric@139.com    
  9.     exit
  10. fi

  11. i=0

  12. cd $olddir
  13. # 遍历目录所有文件
  14. for filename in *
  15. do
  16.     cd $newdir
  17.     if [ -e "$filename" ]
  18.     then
  19.         if ! diff $newdir/$filename $olddir/$filename > /dev/null
  20.         then    # return 0
  21.             mv $newdir/$filename $newdir/$filename.$(date +%Y-%m-%d)
  22.             cp $olddir/$filename $newdir
  23.             ((i++))
  24.         fi
  25.     elif [ ! -e "$filename" ]
  26.     then
  27.         cp $olddir/$filename $newdir
  28.         ((i++))
  29.     fi
  30. done

  31. if [ $i -gt 0 ]
  32. then
  33.     echo "$i file(s) have been updated.Backup succeed." | mailx -s "Backup Notification" iamaric@139.com
  34. else
  35.     echo "Nothing new to backup." | mailx -s "Backup Notification" iamaric@139.com
  36. fi
阅读(1072) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~