溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何自動(dòng)備份文件并發(fā)送到Gmail

發(fā)布時(shí)間:2021-11-03 09:23:24 來(lái)源:億速云 閱讀:226 作者:柒染 欄目:系統(tǒng)運(yùn)維

如何自動(dòng)備份文件并發(fā)送到Gmail,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

一,安裝所需程序

yum install -y mutt vixie-cron

二,設(shè)置mutt發(fā)信參數(shù)

$ vim ~/.muttrc

寫(xiě)入下面的內(nèi)容

set envelope_from=yes
set from=bak@deepvps.com
set realname=”DiaBak”
set use_from=yes

然后設(shè)置要接收郵件的Gmail,把bak@deepvps.com加入白名單。

三,設(shè)置腳本
注意這幾個(gè)目錄
/etc/cron.hourly
/etc/cron.daily
/etc/cron.weekly
/etc/cron.monthly
這些目錄下的文件可以分別每小時(shí),每天,每周,每月自動(dòng)執(zhí)行一次。
如果是把腳本程序放置在上面的目錄里,最好把權(quán)限設(shè)置為0700。
設(shè)置更復(fù)雜的執(zhí)行條件可以使用crontab -e命令。詳情請(qǐng)百度。

以每天執(zhí)行為例

$ vim /etc/cron.daily/diabsk.sh

寫(xiě)入下面的內(nèi)容

#!/bin/bash

# SETTING
TOEMAIL=”bak@deepvps.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

需要更改的內(nèi)容已經(jīng)加紅
TOEMAIL為接收郵件的郵箱地址。
TOEMAIL為注釋郵件,以郵件正文發(fā)送。
DIR為臨時(shí)目錄名,建議僅使用英文和數(shù)字。
# Put files what you want to backup to $TMP,這一行下面的命令根據(jù)需要自己補(bǔ)充,比如備份數(shù)據(jù)庫(kù)可以把SQL文件導(dǎo)出到$TMP目錄,備份文件可以復(fù)制文件到$TMP目錄。

四,導(dǎo)出數(shù)據(jù)庫(kù)的命令。
1.備份單個(gè)數(shù)據(jù)庫(kù)

mysqldump –user=user –password=password –lock-all-tables dbname > backup.sql

2.備份多個(gè)數(shù)據(jù)庫(kù)

mysqldump –user=user –password=password –lock-all-tables –databases dbname1 dbname2 > backup.sql

3.備份所有數(shù)據(jù)庫(kù)

mysqldump –user=user –password=password –lock-all-tables –all-databases > backup.sql

–lock-all-tables選項(xiàng)可以在備份期間鎖定數(shù)據(jù)庫(kù)防止出現(xiàn)變化,進(jìn)而導(dǎo)致多個(gè)有關(guān)系的表不同步,比如A表需要引用B表,備份完A表后,B表發(fā)生了變化,之后才備份了B表,這樣數(shù)據(jù)庫(kù)就亂了。
備份上百M(fèi)的數(shù)據(jù)庫(kù)也只用了幾秒而已,所以這個(gè)選項(xiàng)對(duì)網(wǎng)站運(yùn)行影響不大。

五,重新組合備份的文件
Linux下
$ cat DiaBak* > bak.tar.gz
windows下
copy DiaBak_of_testfile_20100421.part001/b+DiaBak_of_testfile_20100421.part002/b bak.tar.gz
注意分卷后面會(huì)有三位數(shù)字,cat命令會(huì)按這些數(shù)字的順序重新組合文件,所以數(shù)字不能亂。
copy命令同理,注意數(shù)字順序。

六,其他
測(cè)試了一個(gè)600多M的文件,以20M的大小分成了31個(gè)包,通過(guò)腳本發(fā)送,用時(shí)十幾分鐘,期間網(wǎng)速保持在5Mbps到10Mbps之間,本機(jī)還有足夠的帶寬,這個(gè)應(yīng)該是GMAIL的上限了。
有些郵件需要過(guò)一個(gè)多小時(shí)才在Gmail顯示出來(lái)。31個(gè)包全部收到。

看完上述內(nèi)容,你們掌握如何自動(dòng)備份文件并發(fā)送到Gmail的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI