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