• 欢迎访问Ppabc博客网站,专注于Linux、CentOS、Apache、Nginx、MySQL、PHP等开源工具安装优化的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入Ppabc博客
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏Ppabc博客吧

邮件系统备份脚本

Freebsd admin 11年前 (2008-04-15) 241次浏览

1、对 mysql 进行备份。
2、对一些重要配置文件进行备份。
3、对邮件存储的结构进行备份。
4、每天备分,只保留 7 天的内容。
5、备份完成后自动上传到 ftp (其它服务器)
6、系统恢复需要手工恢复,是防止灾难性发生。
7、crontab 内容(当前是 root 用户)

#每天 23:59 分执行
59 23 * * * /usr/local/backup/backup.sh > /dev/null
以下脚本,稍作修改就能用于自己的电脑.本脚本在 freebsd 执行通过,
linux 可能需要跟据实际命令使用方法作修改
下载原脚本

#!/bin/sh

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
#删除旧的文件,+7 表示 7 天之前,+30 表示一个月之前
#完整意思 查找备份目录里 7 天之前的文件,并且删除它
find $backupdir -type f -mtime +7 -print -exec rm {} ;

#文件 file_list 与脚本在同一个目录里,安装在/usr/local/backup ,如果你有什么重要文件备份就写在这里,一行一个。
FL=`cat /usr/local/backup/file_list`
for i in $FL ;do
cp -Rp $i $fpath #复制保留权限,如果目录同样也可以复制
done

#backup mail dir
#备份邮件目录的结构,因为我的硬盘小,所以只备份结构。
#如果你要备份邮件,可以将邮件保存的目录写在上面的 file_list 里。
find /home/data/domains -type d >$fpath/maildirlist

# backup mysql all
#备份 mysql 所有数据库 把 yourpasswd 改为你 mysql root 密码
/usr/local/bin/mysqldump –all-databases -uroot -pyourpasswd>$fpath/mysql_all.sql

# backup my self
#备份这个脚本
cp -Rp $0 $fpath
cp -Rp file_list $fpath

# 将备份的东西进行打包
cd $backupdir
tar czf $today.tar.gz $today
rm -rf $today
cd –

# ftp …
#上传到 ftp
ftp -n<http://www.yiyou.org/52backup_script.html


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:邮件系统备份脚本
喜欢 (0)