自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

自動備份網(wǎng)站并同步到 Dropbox

運維 系統(tǒng)運維
DropBox:基于 Amazon S3 的云存儲保證了可靠性,免費的容量已經(jīng)足夠用,不必擔心數(shù)據(jù)被審查。本文分享了自動備份網(wǎng)站并同步到 Dropbox 的方法。

之前寫過一篇博客,記錄了 定時自動備份網(wǎng)站和數(shù)據(jù)庫 的腳本,不過只是將 VPS 上的數(shù)據(jù)打包保存在了本機的一個目錄下,要知道真正的容災(zāi)備份需要至少在 3 個不同的物理節(jié)點上都有一份拷貝的。Email 發(fā)送備份文件在數(shù)據(jù)超多的情況下不太實際,而出于成本考慮我不想為了一個 VPS 又購買另一個來用作 FTP。不禁想到 DropBox,它無疑是很好的選擇——基于 Amazon S3 的云存儲保證了可靠性,免費的容量已經(jīng)足夠用,也不必擔心數(shù)據(jù)被審查。

一、設(shè)置 Dropbox

Dropbox 提供了豐富的 API,使得我們不必使用官方龐大的客戶端,而用一些簡單輕量的腳本即可直接上傳文件。

Dropbox-Uploader 就是這樣一個第三方的腳本,并且它已經(jīng)開源在了 Github。我們將此腳本下載到 VPS 中,即可使用。

  1. $ wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh 
  2. $ chmod +x dropbox_uploader.sh 
  3. $ ./dropbox_uploader.sh 

運行腳本,根據(jù)提示設(shè)置自己的 Dropbox 應(yīng)用 API,然后按照步驟設(shè)置,就可以使用其命令上傳和下載文件了。

二、同步備份腳本

腳本根據(jù)自己的 VPS 配置進行一些修改。

  1. #!/bin/bash 
  2. # 一些配置 
  3. DROPBOX_DIR=/$(date +%Y-%m-%d) # Dropbox 目錄,根目錄 / 是你已經(jīng)創(chuàng)建的 app 目錄 
  4. MYSQL_USER="root" 
  5. MYSQL_PASS="password" 
  6. MYSQL_DB=('wordpress' 'project2') 
  7. BACK_DATA=/root/backup-data # 備份文件保存在本地的目錄 
  8. DATA=/var/www # 需要備份的網(wǎng)站文件 
  9. # 定義備份文件名 
  10. DataBakName=Database_$(date +"%Y-%m-%d").tar.gz 
  11. WebBakName=Web_$(date +%Y-%m-%d).tar.gz 
  12. OldData=Database_$(date -d -6day +"%Y-%m-%d").tar.gz 
  13. OldWeb=Web_$(date -d -6day +"%Y-%m-%d").tar.gz 
  14. # Dropbox 里 30 天以上的舊數(shù)據(jù)可以清除 
  15. Old_DROPBOX_DIR=/$(date -d -30day +%Y-%m-%d) 
  16. # 清理本地保存了 6 天的備份 
  17. echo -ne "Delete local data of 6 days old..." 
  18. rm -rf $BACK_DATA/$OldData $BACK_DATA/$OldWeb 
  19. echo -e "Done" 
  20. cd $BACK_DATA 
  21. # 導(dǎo)出 MySQL 數(shù)據(jù)庫,并壓縮 
  22. echo -ne "Dump mysql..." 
  23. for db in ${MYSQL_DB[@]}; do 
  24. (/usr/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db}.sql) 
  25. done 
  26. tar zcf $BACK_DATA/$DataBakName *.sql 
  27. rm -rf $BACK_DATA/*.sql 
  28. echo -e "Done" 
  29. # 備份網(wǎng)站文件 
  30. echo -ne "Backup web files..." 
  31. cd $DATA 
  32. tar zcf $BACK_DATA/$WebBakName * 
  33. echo -e "Done" 
  34. cd $BACK_DATA 
  35. # 開始上傳到 Dropbox 
  36. echo -e "Start uploading..." 
  37. ./dropbox_uploader.sh upload  $BACK_DATA/$DataBakName $DROPBOX_DIR/$DataBakName 
  38. ./dropbox_uploader.sh upload  $BACK_DATA/$WebBakName $DROPBOX_DIR/$WebBakName 
  39. # 清理 Dropbox 里 30 天前的舊數(shù)據(jù) 
  40. ./dropbox_uploader.sh delete $Old_DROPBOX_DIR/ 
  41. echo -e "Thank you! All done." 

然后使用 crontab,讓此腳本每幾天定時自動運行,網(wǎng)站的所有數(shù)據(jù)就會安全地備份到 Dropbox 了。其他注意事項,可以參考我之前的一篇 定時自動備份網(wǎng)站和數(shù)據(jù)庫。

責(zé)任編輯:黃丹 來源: 博客
相關(guān)推薦

2022-11-01 07:43:30

2009-03-09 20:57:28

linuxrsync文件同步備份

2012-12-14 09:29:52

云服務(wù)DropboxAudiogalaxy

2021-05-06 05:39:30

Inotify監(jiān)聽系統(tǒng)

2018-11-08 10:13:28

Rsync服務(wù)器備份

2022-11-03 07:22:42

2015-09-17 11:04:07

KindleDropbox資料同步

2011-06-28 09:31:52

Linux同步Dropbox

2012-02-23 11:09:41

2021-05-06 07:00:28

Excel數(shù)據(jù)技巧

2014-05-30 10:31:45

2009-09-29 10:52:34

Linux自動備份操作系統(tǒng)

2020-06-24 07:00:00

備份數(shù)據(jù)丟失USB介質(zhì)

2011-09-19 16:40:40

2011-03-30 10:41:58

Linux服務(wù)器網(wǎng)站

2010-05-31 14:32:44

SVN自動同步

2011-03-28 16:12:55

mysql自動遠程備份

2014-08-04 16:17:55

VPSshell腳本

2021-08-27 10:21:43

SubSync開源

2011-08-22 16:03:30

linuxVPS備份數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號