`

Linux VPS上自动备份文件并发送到Gmail (适用G级数据的备份)(转)

阅读更多

一,安装所需程序
yum install -y mutt vixie-cron

二,设置mutt发信参数
$ vim ~/.muttrc
写入下面的内容
set envelope_from=yes
set from=bak@diavps .com
set realname="DiaBak"
set use_from=yes
然后设置要接收邮件的Gmail,把bak@diavps .com加入白名单。

三,设置脚本
注意这几个目录
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
这些目录下的文件可以分别每小时,每天,每周,每月自动执行一次。
如果是把脚本程序放置在上面的目录里,最好把权限设置为0700。
设置更复杂的执行条件可以使用crontab -e命令。详情请百度。

以每天执行为例
$ vim /etc/cron.daily/diabsk.sh
写入下面的内容


#!/bin/bash

# SETTING
TOEMAIL="bak@diavps.com";
COMMENT='blog database backup'
DIR='wordpress'

# END SETTING

TMP='/tmp/diabak/'${DIR}
ATTTMP='/tmp/diabakatt/'${DIR}

rm -rf $TMP
mkdir -p $TMP
cd $TMP

# Put files what you want to backup to $TMP

# Don't change anything below
YYYYMMDD=`date +%Y%m%d`
SUBJECT='DiaBak_of_'${DIR}'_'${YYYYMMDD};

rm -rf $ATTTMP
mkdir -p $ATTTMP
cd $ATTTMP

tar zcPf backup.tar.gz $TMP
rm -rf $TMP
split -b 20m -a 3 -d backup.tar.gz ${SUBJECT}.part
rm -f backup.tar.gz

for file in *
do
echo $COMMENT | mutt -a $file -s $SUBJECT $TOEMAIL
sleep 30s
done

rm -rf $ATTTMP

需要更改的内容已经加红
TOEMAIL为接收邮件的邮箱地址。
TOEMAIL为注释邮件,以邮件正文发送。
DIR为临时目录名,建议仅使用英文和数字。
# Put files what you want to backup to $TMP,这一行下面的命令根据需要自己补充,比如备份数据库可以把SQL文件导出到$TMP目录,备份文件可以复制文件到$TMP目录。

四,导出数据库的命令。
1.备份单个数据库
mysqldump --user=user --password=password --lock-all-tables dbname > backup.sql
2.备份多个数据库
mysqldump --user=user --password=password --lock-all-tables --databases dbname1 dbname2 > backup.sql
3.备份所有数据库
mysqldump --user=user --password=password --lock-all-tables --all-databases > backup.sql

--lock-all-tables选项可以在备份期间锁定数据库防止出现变化,进而导致多个有关系的表不同步,比如A表需要引用B表,备份完A表后,B 表发生了变化,之后才备份了B表,这样数据库就乱了。
备份上百M的数据库也只用了几秒而已,所以这个选项对网站运行影响不大。

五,重新组合备份的文件
Linux下
$ cat DiaBak* > bak.tar.gz
windows下
copy DiaBak_of_testfile_20100421.part001/b+DiaBak_of_testfile_20100421.part002/b bak.tar.gz
注意分卷后面会有三位数字,cat命令会按这些数字的顺序重新组合文件,所以数字不能乱。
copy命令同理,注意数字顺序。

六,其他
测试了一个600多M的文件,以20M的大小分成了31个包,通过脚本发送,用时十几分钟,期间网速保持在5Mbps到10Mbps之间,本机还有足够的 带宽,这个应该是GMAIL的上限了。
有些邮件需要过一个多小时才在Gmail显示出来。31个包全部收到。
如果哪位发现有比Gmail更适合备份的邮箱,期待与大家分享。

分享到:
评论

相关推荐

    linux中FTP自动备份VPS脚本.docx

    linux中FTP自动备份VPS脚本.docx

    Linux VPS 自动备份数据到远程主机FTP的方法

    备份的数据如果不是特别大的话,不建议压缩,防止其中可能会有已经被多次压缩过的文件损坏。 备份数据库的方式为停止MYSQL服务后备份DATA目录,期间MYSQL会中止数秒至数十秒。请自行权衡利弊。 如果系统上没有ftp...

    linux VPS主机上备份网站和数据库的方法

    今天介绍一下简单的方法为自己的VPS备份。 1、使用putty登录VPS,这里不多介绍了。 2、备份网站目录:[root@www ~]# cd /web/www //进入相应的目录 [root@www www]# tar zcvf vps.tar.gz vps //使用tar打包且压缩...

    VPS、Linux自动备份

    VPS Linux 自动备份 下载脚本 wget --no-check-certificate https://github.com/teddysun/across/raw/master/backup.sh chmod +x backup.sh 脚本功能 支持 MySQL/MariaDB/Percona 的数据库全量备份或选择备份; ...

    Linux VPS备份教程 手动备份网站数据

    一般老左喜欢1周备份一次网站,这样的频率应该还算是不错的,对于昨天分享的”数据库/网站文件自动定时备份“的方法比较适合数据比较重要,而且不能长期在电脑前维护的。 比如有些朋友经常出差,回来后打开网站发现...

    Linux VPS备份教程 数据库/网站文件自动定时备份

    几天写过两篇使用VPS的安全性设置的博文,其实不管我们如何设置安全,及时的...这篇文章老左分享目前大家比较常用的自动定时备份方案,数据库发送到我们的邮箱、文件发送同步到我们另外空间FTP中。在写这篇文章之前,

    linux下Vps自动备份web和mysql数据库的脚本

    两个脚本都是备份文件到/root/Dropbox/backup目录里,并自动删除10天前的备份。web备份是每周行一次,删除30天前的备份。 一、备份WEB文件夹 1、备份/home/users/public_html目录 2、修改crontab为每周第一天3:22...

    金算盘6F、8E账套自动备份工具

    3、自动对到期的备份方案进行排序备份,对于备份进行过程中到期的备份方案自动追加到备份计划列表尾部;即可确保同一时点上只有一个备份进程,避免占用过多系统资源,又可确保不会遗漏备份方案的执行;因此,在定义...

    3款Linux VPS主机FTP文件管理软件.docx

    3款Linux VPS主机FTP文件管理软件.docx

    诛仙架设vps教程linux版

    还有,这将是全网唯一一个讲vps教程的文件!就是TXT,我觉得你要是能看懂那你肯定能架设出来!你要是看不懂,就算是我手把手也教不会!事儿,就是这么个事儿,想好了再下!里面没有联系方式,有问题私聊随缘回复!

    CentOS中使用Shell脚本实现每天自动备份网站文件和数据库并上传到FTP中

    本文将详细介绍如何在CentOS操作系统中使用Shell脚本来自动化备份网站文件和数据库,并将这些备份上传到FTP服务器。这个方法同样适用于其他Linux发行版。 首先,我们需要安装必要的软件组件: 1. **Email发送程序*...

    linux使用scp命令备份文件 scp拷贝文件

    在本场景中,由于需要更换VPS,使用`scp`命令进行文件备份和迁移是非常实用的方法。 首先,`scp`命令的基本语法如下: ```bash scp [选项] [源文件] [目标文件] ``` 在这个例子中,源文件是远程服务器上的`/home/...

    linux VPS之间网站数据的备份与恢复(网站迁移教程)

    文中www.xxx.com绑定在VPS1的wwwroot目录上为例 1.VPS1上数据打包(备份) a.VPS1上文件数据打包(Tar命令详解 //www.jb51.net/os/RedHat/1219.html) cd /home/wwwroot/ tar zcvf xxx.tar.gz 网站目录(如/home/...

    PHP自动备份数据库发送邮箱程序 v1.0 OLCMS

    自动备份数据库发送邮箱1.0 运行环境:服务器或者vps(1.0暂不支持空间) 使用说明 1.整个目录上传到服务器,记得改整个文件名的名字(切记!!!) 2.修改config.php所有的配置项,发送邮箱测试了163和qq的,qq邮箱...

    Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本

    Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本的操作时怎样进行的?如今备份已经成为一种非常重要的操作技术,掌握好数据库备份,对大家以后的工作会很有帮助

    BPCS_Uploader自动备份VPS数据到百度网盘

    NULL 博文链接:https://crabdave.iteye.com/blog/2315488

Global site tag (gtag.js) - Google Analytics