<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>深度VPS &#187; Gmail</title>
	<atom:link href="http://www.deepvps.com/tag/gmail/feed" rel="self" type="application/rss+xml" />
	<link>http://www.deepvps.com</link>
	<description>专注VPS技术，关注前端技术</description>
	<lastBuildDate>Sat, 04 Feb 2023 14:00:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>自动备份文件并发送到Gmail (适用G级数据的备份)</title>
		<link>http://www.deepvps.com/automatically-backup-and-sent-to-gmail.html</link>
		<comments>http://www.deepvps.com/automatically-backup-and-sent-to-gmail.html#comments</comments>
		<pubDate>Thu, 22 Apr 2010 07:49:44 +0000</pubDate>
		<dc:creator>deepvps</dc:creator>
				<category><![CDATA[VPS管理维护]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[自动备份]]></category>

		<guid isPermaLink="false">http://www.deepvps.com/?p=404</guid>
		<description><![CDATA[一，安装所需程序
yum install -y mutt vixie-cron
二，设置mutt发信参数
$ vim ~/.muttrc
写入下面的内容
set envelope_from=yes
set from=bak@deepvps.com
set realname=&#8221;DiaBak&#8221;
set use_from=yes
然后设置要接收邮件的Gmail，把bak@deepvps.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=&#8221;bak@deepvps.com&#8221;;
COMMENT=&#8217;blog database backup&#8217;
DIR=&#8217;wordpress&#8217;
# END SETTING
TMP=&#8217;/tmp/diabak/&#8217;${DIR}
ATTTMP=&#8217;/tmp/diabakatt/&#8217;${DIR}
rm -rf $TMP
mkdir -p $TMP
cd $TMP
# Put files what you want to backup to $TMP
# Don&#8217;t change anything below
YYYYMMDD=`date +%Y%m%d`
SUBJECT=&#8217;DiaBak_of_&#8217;${DIR}&#8217;_'${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 [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="font-size: medium;">一，安装所需程序</span></strong></p>
<blockquote><p>yum install -y mutt vixie-cron</p></blockquote>
<p><strong><span style="font-size: medium;">二，设置mutt发信参数</span></strong></p>
<blockquote><p>$ vim ~/.muttrc</p></blockquote>
<p>写入下面的内容</p>
<blockquote><p>set envelope_from=yes<br />
set from=bak@deepvps.com<br />
set realname=&#8221;DiaBak&#8221;<br />
set use_from=yes</p></blockquote>
<p>然后设置要接收邮件的Gmail，把bak@deepvps.com加入白名单。<span id="more-404"></span></p>
<p><strong><span style="font-size: medium;">三，设置脚本</span></strong><br />
注意这几个目录<br />
/etc/cron.hourly<br />
/etc/cron.daily<br />
/etc/cron.weekly<br />
/etc/cron.monthly<br />
这些目录下的文件可以分别每小时，每天，每周，每月自动执行一次。<br />
如果是把脚本程序放置在上面的目录里，最好把权限设置为0700。<br />
设置更复杂的执行条件可以使用crontab -e命令。详情请百度。</p>
<p>以每天执行为例</p>
<blockquote><p>$ vim /etc/cron.daily/diabsk.sh</p></blockquote>
<p>写入下面的内容</p>
<blockquote><p>#!/bin/bash</p>
<p># SETTING<br />
<span style="color: #ff0000;">TOEMAIL=&#8221;bak@deepvps.com&#8221;;<br />
COMMENT=&#8217;blog database backup&#8217;<br />
DIR=&#8217;wordpress&#8217;</span><br />
# END SETTING</p>
<p>TMP=&#8217;/tmp/diabak/&#8217;${DIR}<br />
ATTTMP=&#8217;/tmp/diabakatt/&#8217;${DIR}</p>
<p>rm -rf $TMP<br />
mkdir -p $TMP<br />
cd $TMP</p>
<p><span style="color: #ff0000;"># Put files what you want to backup to $TMP</span></p>
<p># Don&#8217;t change anything below<br />
YYYYMMDD=`date +%Y%m%d`<br />
SUBJECT=&#8217;DiaBak_of_&#8217;${DIR}&#8217;_'${YYYYMMDD};</p>
<p>rm -rf $ATTTMP<br />
mkdir -p $ATTTMP<br />
cd $ATTTMP</p>
<p>tar zcPf backup.tar.gz $TMP<br />
rm -rf $TMP<br />
split -b 20m -a 3 -d backup.tar.gz ${SUBJECT}.part<br />
rm -f backup.tar.gz</p>
<p>for file in *<br />
do<br />
echo $COMMENT | mutt -a $file -s $SUBJECT $TOEMAIL<br />
sleep 30s<br />
done</p>
<p>rm -rf $ATTTMP</p></blockquote>
<p>需要更改的内容已经加红<br />
TOEMAIL为接收邮件的邮箱地址。<br />
TOEMAIL为注释邮件，以邮件正文发送。<br />
DIR为临时目录名，建议仅使用英文和数字。<br />
# Put files what you want to backup to $TMP，这一行下面的命令根据需要自己补充，比如备份数据库可以把SQL文件导出到$TMP目录，备份文件可以复制文件到$TMP目录。</p>
<p><strong><span style="font-size: medium;">四，导出数据库的命令。</span></strong><br />
1.备份单个数据库</p>
<blockquote><p>mysqldump &#8211;user=user &#8211;password=password &#8211;lock-all-tables dbname &gt; backup.sql</p></blockquote>
<p>2.备份多个数据库</p>
<blockquote><p>mysqldump &#8211;user=user &#8211;password=password &#8211;lock-all-tables &#8211;databases dbname1 dbname2 &gt; backup.sql</p></blockquote>
<p>3.备份所有数据库</p>
<blockquote><p>mysqldump &#8211;user=user &#8211;password=password &#8211;lock-all-tables &#8211;all-databases &gt; backup.sql</p></blockquote>
<p>&#8211;lock-all-tables选项可以在备份期间锁定数据库防止出现变化，进而导致多个有关系的表不同步，比如A表需要引用B表，备份完A表后，B表发生了变化，之后才备份了B表，这样数据库就乱了。<br />
备份上百M的数据库也只用了几秒而已，所以这个选项对网站运行影响不大。</p>
<p><strong><span style="font-size: medium;">五，重新组合备份的文件</span></strong><br />
Linux下<br />
$ cat DiaBak* &gt; bak.tar.gz<br />
windows下<br />
copy DiaBak_of_testfile_20100421.part001/b+DiaBak_of_testfile_20100421.part002/b bak.tar.gz<br />
注意分卷后面会有三位数字，cat命令会按这些数字的顺序重新组合文件，所以数字不能乱。<br />
copy命令同理，注意数字顺序。</p>
<p><strong><span style="font-size: medium;">六，其他</span></strong><br />
测试了一个600多M的文件，以20M的大小分成了31个包，通过脚本发送，用时十几分钟，期间网速保持在5Mbps到10Mbps之间，本机还有足够的带宽，这个应该是GMAIL的上限了。<br />
有些邮件需要过一个多小时才在Gmail显示出来。31个包全部收到。<br />
如果哪位发现有比Gmail更适合备份的邮箱，期待与大家分享。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.deepvps.com/automatically-backup-and-sent-to-gmail.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
