1、对mysql 进行备份。
2、对一些重要配置文件进行备份。
3、对邮件存储的结构进行备份。
4、每天备分,只保留7 天的内容。
5、备份完成后自动上传到ftp (其它服务器)
6、系统恢复需要手工恢复,是防止灾难性发生。
7、crontab 内容(当前是root用户)
  1. #!/bin/sh
  2. backupdir1="/home/data/"
  3. if [ ! -d $backupdir1 ];then
  4. mkdir $backupdir1
  5. fi
  6. backupdir="/home/data/backup/"
  7. if [ ! -d $backupdir ];then
  8. mkdir $backupdir
  9. fi
  10. # mkdir today backup
  11. today=`date +%Y-%m-%d_%H_%M_%S`
  12. fpath=$backupdir$today
  13. echo $fpath
  14. if [ ! -d $fpath ];then
  15. mkdir $fpath
  16. fi
  17. # delete old file
  18. find $backupdir -type f -mtime +3  -exec /bin/rm -f {} \;
  19. wwwx="/var/www/extsuite/extmail/html/work/bak/"
  20. find $wwwx -type f -mtime +3  -exec /bin/rm -f {} \;
  21. #backup mail dir
  22. cp -a /home/domains  $fpath/
  23. cp -a /usr/local/slockd/config/whitelist $fpath/
  24. cp -a vi /var/www/extsuite/extman/webman.cf $fpath/
  25. cp -a /home/workhome/backup1.sh $fpath/
  26. cp -a /home/workhome/3322.org  $fpath/
  27. cp -a /var/spool/cron/root $fpath/
  28. cp -a /var/www/extsuite/extmail/html/work/index.php $fpath/
  29. # backup mysql all
  30. /usr/bin/mysqldump extmail  -uroot -p123456789 >$fpath/mysql_extmail.sql
  31. cd $backupdir
  32. tar czf $today.tar.gz $today
  33. rm -rf $today
  34. cp $today.tar.gz /var/www/extsuite/extmail/html/work/bak
  35. cd $backupdir
  36. rm -rf $today.tar.gz
这个是列出文件的index.php,放在/var/www/extsuite/extmail/html/work目录下, 只有访问http://mail.xxx.com/work/就能列出文件,远程下载, 没有硬件的备份条件,只好这样做了.
 
  1. < ?php
  2. $basedir="http://mail.xxx.com/work/bak/";
  3. $j=0;
  4. if ($handle = opendir('/var/www/extsuite/extmail/html/work/bak')) {
  5.     
  6.     $dir = array();         
  7.     while (false !== ($file = readdir($handle))) {
  8.         if(strpos($file,".gz") !==false)
  9.   {
  10.    $dir[]=$file;
  11.   // echo "<a href=\"".$basedir.$file."\">".$file."<br />\n";
  12.    $j=$j+1;
  13.           }
  14.     }
  15.     closedir($handle);
  16. }
  17. if($j==0)
  18. {
  19.  echo "No Data\n";
  20. }
  21. asort($dir);
  22. $j=1;
  23. foreach($dir   as   $name){   
  24.   echo $j." => <a href=\"".$basedir.$name."\">".$name."</a><p>\n";
  25.   $j=$j+1;
  26. }
  27. ?>
  28. </p>
文章参考:
http://www.yiyou.org/52backup_script.html
http://www.lpfrx.com/archives/108/