(2012-09-14 更新) 上個星期蛙齋主機被跟Linux很不熟的小蛙弄到完全沒有辦法開機,只好放出最後大絕-reinstall ><,重新安裝新系統之後發現…之前把VPS裝起來的過程是跌跌撞撞,有很多文件都沒有留下來…只能硬著頭皮慢慢把系統建回去,還好上一次找了一堆資料,寫了定期備份WordPress資料庫以及/var/www的shell script,所以才能在一兩天內讓VPS可以正常運作!(否則以小蛙Linux的程度不知道要弄多久才會好 …),這篇文章備份一下小蛙自己的備份的shell script,免得又遇到什麼不測風雲…

小蛙必須先寫在前面,小蛙對於Linux可以說是完全不熟悉,只會一些常常用到的操作,因此小蛙寫的script可能也會有不少問題,神經夠大條又懶得去找其他資料的網友可以「參考」小蛙的寫法,至少搭配上crontab後,這些script也是很盡職的做好備份的工作,當然如果有Linux強者有更好寫法的話,也歡迎留言讓小蛙以及其他網友參考!

  • Ubuntu 11.04安裝Dropbox

工欲善其事必先利其器,先把Dropbox裝上去吧!小蛙要裝這個dropbox也找了很久…明明第一次裝的時候並沒有那麼麻煩,感覺一下就裝好了…小蛙參考 Official Debian/Ubuntu packages for Dropbox 這篇文章,其中有一些介紹,有興趣的網友可以點過去看看。

小蛙試過自己下載壓縮檔來執行,但總是會出現一堆奇奇怪怪的問題,最後使用上面那篇文章提到的方法,只有簡單三個指令
( 2012-09-14 更新) 小蛙在安裝另一台VPS的時候發現下面這個 repository 已經失效了,請參閱<<VPS安裝紀錄 – 安裝Dropbox>>。如果已經不小心新增了 repository,可以在 /etc/apt/sources.list.d/ 找到它們,再刪除即可!

$ sudo add-apt-repository ppa:hertzog/nautilus-dropbox
$ sudo apt-get update
$ sudo apt-get install nautilus-dropbox

如果這三個指令都過的了,就真的是太恭喜了,但小蛙偏偏第一個指令就卡住了「command not found」,以小蛙對Linux粗淺的了解,只要發現某個指令出現command not found,就試試看apt-get install 指令,搞不好就剛好可以裝到需要的套件(不知道這樣說對不對),問題又來了,照著輸入之後出現下面的問題

# apt-get install add-apt-repository
正在讀取套件清單... 完成
正在重建相依關係
正在讀取狀態資料... 完成
E: 找不到套件 add-apt-repository

喔耶!事情果然不像笨蛙所想的那樣簡單,上網查了一下原來「add-apt-repository」這個東東跟Python有關係,要使用這個指令必須先安裝

# apt-get install python-software-properties

安裝完成後再執行剛剛上面提到的三個指令,就完成Dropbox的安裝囉!直接透過「dropbox start」啟動Dropbox、「dropbox stop」來停止Dropbox,第一次啟動會跳出一個連結,點選該連結後輸入dropbox的帳號密碼後就可以正常使用了。

安裝Dropbox時小蛙遇到兩個問題也順便記錄下來:

(1) 小蛙的Dropbox被安裝到/root/Dropbox目錄下,如果移動該目錄會造成Dropbox卡在Connecting而無法使用。

(2) 有一次很奇怪的沒有出現認證連結,輸入dropbox start >> xxx,不知道為什麼把訊息輸出到xxx檔案中卻又出現連結 = = (2012-04-17 只要連續執行兩次以上 dropbox start 就會出現連結)

  • 備份Shell Script

backupProcess.sh (注意要有執行權限,ex. chmod 744 backupProcess.sh),.sh檔最上面一定要加上#!/bin/bash,否則會發生時間到卻一動也不動的情況(可參考crontab -e相關使用及問題 @ 蛙齋)。

# 備份所有資料庫,不壓縮(也可以加入壓縮指令)
function backupDB(){
    mysqldump -u資料庫帳號 -p資料庫密碼 --all-databases > /root/Dropbox/vpsbackup/vps-databases-$(date +%Y%m%d).sql
}

# 備份 /var/www 目錄,並且壓縮(如果要備份其他的資料夾,也可以此類推)
function backupWWW(){
    tar -jpc -f /root/Dropbox/vpsbackup/www-$(date +%Y%m%d).tar.bz2 /var/www
}

# 備份 /etc 目錄
function backupEtc(){
    tar -jpc -f /root/Dropbox/vpsbackup/etc-$(date +%Y%m%d).tar.bz2 /etc
}

# 備份 /root 目錄,並且排除Dropbox資料夾
function backupRoot(){
    tar -jpc -f /root/Dropbox/vpsbackup/root-$(date +%Y%m%d).tar.bz2 /root --exclude=Dropbox
}

case  in
    "db")
        #執行備份db動作
        backupDB;
        ;;
    "www")
        #備份www資料夾
        backupWWW;
        ;;
    "etc")
        #備份/etc資料夾
        backupEtc;
        ;;
    "root")
        #備份/root/shell資料夾
        backupRoot;
        ;;
    *)
        #印出錯誤訊息及使用方式
        echo ""
        echo "Usage  : ./backupProcess.sh [db | www]"
        echo ""
        echo "  db   : backup all databases."
        echo "  www  : backup /var/www data."
        echo "  etc  : backup /etc/data."
        echo "  root : backup /root/shell data."
        echo ""
        ;;
esac
  • crontab定期執行備份動作

shell script寫完再來就是讓crontab定期執行囉!以下是小蛙的排程。

# crontab –e

# 每天早上三點五分備份/etc
5   3 * * *     /root/backupProcess.sh etc >> /root/log/etc.log
# 每天早上三點十分備份/root
10  3 * * *     /root/backupProcess.sh root >> /root/log/root.log
# 每天早上三點十五分備份database
15  3 * * *     /root/backupProcess.sh db >> /root/log/db.log
# 每個星期天上午三點半備份 /var/www 目錄
30  3 * * 0     /root/backupProcess.sh www >> /root/log/www.log
# 每天早上四點開啟dropbox
0   4 * * *     dropbox start >> /root/log/dropbox.log
# 每天早上四點三十分關閉dropbox
30  4 * * *     dropbox stop >> /root/log/dropbox.log

呼 ~ 希望這些備份檔可以備而不用!對Linux不熟悉的小蛙來說,重灌Linux真是一大夢魘。(2012-04-17 DirectSpace主機有安全性漏洞遭受攻擊,結果造成部分用戶資料全部遺失 … 太恐怖了)

相關文章

SSL For Free – 免費又有綠色鎖頭的 SSL Certificates

之前聽說 Google 會優先搜尋有 https 的網頁 (參考:
2016-07-07 23:00:54
hans

8

Android Vuforia with jPCT-AE (5) – 多重模型載入,以 obj 為例

要進到這系列最後一篇文章了,這篇文章拖了很久,一直沒有時間整理,結果到最後 ... 程式碼留下來了,記憶卻有些模糊了,這邊小蛙配著程式碼盡可能的把還記得的東西寫下來。
2016-07-06 11:24:19
hans

8

Android Vuforia with jPCT-AE (4) – 載入 3DS 測試

延續 jPCT-AE Loader 載入模型的部份,這篇要記錄載入 3ds 檔案格式的方法,基本上跟前面幾個 obj, md2 的方法差不多,只有一些小小的變化而已。
2016-07-06 10:24:33
hans

8

Android Vuforia with jPCT-AE (3) – 載入 md2 測試

前兩篇介紹如何直接透過 jPCT-AE 直接繪圖以及載入 .obj 檔案,這邊繼續介紹 jPCT-AE 載入 md2 的方法,載入動作大致上類似,唯一不同的只有 texture 設定部份。
2016-07-06 09:24:43
hans

8

Android Vuforia with jPCT-AE (2) – 載入 obj 測試

上一篇 Android Vuforia with jPCT-AE (1) –
2016-07-06 08:24:55
hans

8

Android Vuforia with jPCT-AE (1) – 基本範例

說來慚愧,從 Google Adsense 被 ban 之後,就好久沒有發文了,站上 Vuforia 的文章也已經是好久以前的事情了 (遠目),最近有專案要用到 Vuforia,爬以前的文回來看,蛙哩咧 ... 現在已經更新到 Vu
2016-07-06 07:57:58
hans

8

ClickForce (MobiForce) 當機問題

這真是個浪費時間又漫長的過程,CF 推出新版後台以及新版 SDK 的時候,小蛙就下載來測試,一開始小蛙直接套在「我的股票精算師」上,但只要一套上去就當機 ...
2015-09-02 10:32:51
hans

8

我的股票精算師備份功能

常遇到使用者詢問「我的股票精算師」要怎麼備份,這篇記錄一下,需要寫怎麼備份表示軟體設計上有很大的問題,造成使用者使用上的困難,但小蛙最近沒有時間去做修改 ... 只好委屈精算師的使用者了 ><
2015-02-06 18:32:07
hans

8

第一次從淘寶買小米盒子3

最近阿咕有在大螢幕上看韓劇的需求,剛好搭上 Chromecast 的上市,survey 了一些 Android 電視棒。這篇記錄這幾天的經過。

2015-01-04 23:36:33
hans

8




 回覆

你可以使用以下語法 HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

(required)

(required)

   
© 2012 蛙齋 Suffusion theme by Sayontan Sinha