用lftp完全備份網站腳本

利用lftp的mirror功能,完全備份遠程主機的網站資料,並有輪替功能。各網站ftp連接資料已保存到lftp的bookmarks

2012.05.17更新代碼

#!/bin/bash

#backup website, use lftp mirror command.
#create at 2012.04.16 by joseph
#update at 2012.05.04 by joseph, update option input
#update at 2012.05.08 by joseph, update rotate

#各網站ftp用戶名密碼已保存在lftp的bookmark, bookmark裡的名稱對應為網站URL

if [ ! $1 ];then
echo "Usage: $0 {all|show|\$URL…}"
exit 10
fi

allwebsite=$(awk ‘{ print $1 }’ ~/.lftp/bookmarks)

#檢測參數中URL是否存在於lftp的Bookmarks中
checkURL() {
for i in $@
do

true=0
for x in $allwebsite
do
if [ $i = $x ]; then
true=1
break
fi
done
if [ $true -eq 0 ]; then
echo "URL:$i not in bookmarks, pls check"
exit 1
fi

done
}

#可在參數中指定備份特定網站,可寫多個URL參數。
case "$1″ in
all)
website=$allwebsite
;;
show)
echo "Bookmarks list:"
for i in $allwebsite
do
echo $i
done
exit 0
;;
*)
checkURL $@
website=$@
;;
esac

mydate=`date +%Y%m%d`
backup_path="/home/joseph/website"
log_file="website.log"
log_path="$backup_path/$log_file"
rotateNum=5     #備份檔數量
tmp_path=$backup_path/tmp

#輪替檔函數, $1備份路徑, $2需備份目錄, $3備份數量
rotateDir() {
for x in `seq $(($3 – 1)) -1 1`
do
if [ -d $1/$2.$x ]; then
/bin/rm -rf $1/$2.$(($x + 1))
/bin/mv $1/$2.$x $1/$2.$(($x + 1))
fi
done
}

echo "————— $mydate —————" >> $log_path
for i in $website
do
echo "[PID:$$]`date +%H:%M`, $i backup begin" >> $log_path
/usr/bin/lftp -c "set net:max-retries 3;open $i&&mirror -c –ascii . $tmp_path" 2>> $log_path

if [ $? -eq 0 ]; then
rotateDir $backup_path $i $rotateNum
/bin/chmod -R 755 $tmp_path
/bin/mv $tmp_path $backup_path/$i.1
else
echo "connect error, mirror failed" >> $log_path
fi

echo "[PID:$$]`date +%H:%M`, $i backup end" >> $log_path
echo "" >> $log_path
done
echo "—————————————-" >> $log_path
echo "" >> $log_path

腳本還有很多不完善地方,歡迎交流。下一步改善方向,讀取lftp的bookmarks文件,以匹配備份網站名稱,優化輪替功能,及改善lftp連接出錯後的判定。

Categories: 學習 | Tags: , , , , | Leave a comment

特殊屬性位(7)***,SetUID的定義

SetUID的定義:當一個可執行程序具有SetUID權限,用戶執行這個程序時,將以這個程序所有者的身份執行(該程序所有者,並不一定是root)

SetUID=4
添加SetUID權限
chmod u+s
chmod 4***
對所有者添加有效,為小寫s
SetUID文件必须为可执行程序,否则没意义。
SetGID的定義:當一個可執行程序具有SetGID權限,用戶執行這個程序時,將以這個程序所属组的身份執行
SetGID=2
添加SetGID權限
chmod g+s
chmod 2***
SetUID與SetGID同时添加为chmod 6***
對所屬組添加有效,為小寫s
可對目錄添加SGID,對目錄添加SGID有如下效果:
用戶在此目錄下的有效群組(effective group)將會變成該目錄的群組;
用途:若使用者在此目錄下具有 w 的權限,則使用者所建立的新檔案,該新檔案的群組與此目錄的群組相同。
查找SetUID程序:
find / -perm -4000 -o -perm -2000
-perm     指定文件屬性,不限定為0
 粘著位1***,對目錄有效,文件無效
如果一個權限為777目錄具有粘著位,每個用戶都可以在這個目錄下創建文件,但是只能刪除自己是所有者的文件
chmod o+t
chmod 1777
對其他人添加有效,為小寫t
Categories: 學習 | Tags: , | Leave a comment

今日感覺很壓抑

今日感覺心情很壓抑,回家的感覺很不舒適,都是盏盏克克。怕做得吾好,怕人地吾高兴。怕做得吾好又冷言冷雨。嫁佐感耐,TVB的电视剧都未睇过一小时。用样样都要限定位置。唉,好辛苦阿。

Categories: 未分類 | 1 Comment

Ubuntu 11.10 USB无线网卡安装实录

在ubuntu 11.10下安装无线网卡,说来其实好简单,只是开始时不知道,折腾了很久。

我手上有个TP-Link的WN620G USB无线网卡,在官网上,连win7驱动都没有,更不用说linux驱动,

插入电脑后,用lsusb看看,是Atheros AR5523的芯片,上搜索后,发现说安装madwifi可以,就下载来看看,但发现madwif不支持usb设备,pci、pc-card之类的才可以,只有再找其它方法。后来发现ndiswrapper这个工具,它可以通过调用xp的驱程为linux下的无线网卡作驱动。

我在Ubuntu的软件中心搜索发现,软件中心里已经有ndis的GUI界面工具,直接安装就可以(下面两个附加程式也要勾选安装)。

安装完成后,将无线网卡的xp驱程下载下来,解压,运行该程序

点击安装新的驱动程式,选择刚才驱动的解压缩目录,里面有对应的inf文件,选择安装后,无线网卡就成功安装驱动,可以使用。

暂时发现的问题,是每次重启后,都需要重新删除、安装驱动一次,才能正常使用。

Categories: 學習 | Tags: , , , | Leave a comment

元旦又准備出發去旅行~~

元旦又准備出發去旅行

今次目標係河南,鄭州洛陽一帶

行程安排

30号下午广州坐火车到郑州,可选择车次
出发时间 到达时间 硬卧价格(大约)

T16      16:48   07:46 353
T98B   18:05   09:15 353

12月31日早上到郑州后,买票从郑州出发去洛阳。
K560/W560/K557 郑州到洛阳 08:35 – 10:02
G2001 郑州到洛阳龙门 08:00 – 08:37
G2003 郑州到洛阳龙门 09:30 – 10:07
K82/K83 郑州到洛阳 09:13—10:48
D1001 郑州到洛阳龙门 11:25 – 12:11
K128/K125 郑州到洛阳 13:17 – 18:48

落火车后可去旅舍放下行李,再坐车(约40分钟车程)去龙门石窟游玩(门票120元)。关林在龙门石窟附近,可坐60号车到关林,有时间的可以去行下。丽景门是洛阳的地标,中原第一楼,门票10蚊,可以一去。晚上住洛阳。

旅舍资料http://www.lyyha.com/jieshao/ 洛阳易家国际青年旅舍

从洛阳火车站,坐5、41路到青年宫八角楼广场下车即可,往东50米即是洛阳易家国际青年旅舍

从高铁洛阳龙门站:从龙门站坐65路公交车,约20–25分钟,至西关下车;然后转坐5、9、56路至青年宫下车,往东100米即为洛阳易家国际青年旅舍所在地。

洛阳易家国际青年旅舍位于洛阳的[长安街]—中州东路,在洛阳老城区青年宫对面,距洛阳民俗博物馆3分钟,洛阳青年宫小吃一条街4分钟,洛阳[真不同饭店]5分钟,洛阳丽京门15分钟,白马寺30分钟,出门左转5分钟左右,站台对面坐53号车可到龙门石窟.

http://www.lyhome0379.cn/News_View.asp?NewsID=1071 洛阳旅友之家

洛阳餐饮:
水席园:网上话是洛阳水席做得比较地道的店,老城区南大街附近;
真不同饭店:中州东路369号 / 政和路18号 传闻中比较好的饭店,牡丹蒸菜,洛阳熬货,洛阳肉片等。

1月1日 早上起来吃过早餐后,收拾行李到客运站坐车到嵩山。游玩完后坐车回郑州。夜宿郑州。1号晚上+2号上午均在郑州吃喝玩乐。
http://www.becod.com/hotel_50739.html郑州天涯青年旅舍 金水路与文化路口西100米兴达通苑大厦 6人间,约20蚊/人/天(元旦价未出)
旅舍附近比较值得一去的景点:
• 1.2公里二七纪念塔
• 2.1公里黄河博物馆
• 2.4公里郑州城隍庙
• 2.8公里河南博物院
• 3.7公里商城遗址

郑州青年城市公寓 郑州二七广场 费用不详

http://www.becod.com/hotel_21247.html

午饭后收拾行李,准备搭火车回广州。
T89 郑州到广州 15:03 – 07:14
T238/T235 郑州到广州 15:55 – 08:40

注:若是四天游,则1月2日早上坐车到开封游玩,晚上坐车回郑州,夜宿郑州。1月3日早上才去游览上述景点。

Categories: 生活 | Tags: | Leave a comment

紙杯蛋糕(未完,說明由娘子補上~~)

 

裝蛋糕的紙杯

裝蛋糕的紙杯

 

溶掉的牛油

溶掉的牛油

 

篩面粉

篩面粉

 

打漿

打漿

 

入爐前

入爐前

 

出爐後,成品

出爐後,成品

 

Categories: 生活, 美食 | Tags: , | Leave a comment

nginx配置心得

在學習使用nginx,打算試用rewrite偽靜態來做重定向。由於有虛擬主機,就想把http://ip/folder(為虛擬主機根目錄,我一般以域名設定為目錄名稱)重向定到該虛擬主機的域名。

location /www.joseph.com
{
rewrite ^/www.joseph.com/(.*) http://www.joseph.com/$1 permanent;
}

經測試後能正常工作,達到我想要的效果。但如果有多個虛擬主機,總不能為每個目錄寫個一條location。由於location裡的URI可以使用正則表達式,可以省返唔少功夫,改寫後

location ~ ^/.*\..*\..*
{
	rewrite /(.*) http://$1/ permanent;
}

但改了以後,無論我點試都唔得。一直以為是自己的正則表達式寫錯,將正則表達式改簡單啲,還是一樣。後來發現,只要是用正則表達式的,就不認。苦思很久都,都找不出什麼問題,後來突然谂到,可能係前綴匹配的優先級順序問題。location的匹配優先級順序:

(location =) > (location 完整路径 >) >(location ^~ 路径) >(location ~* 正则) >(location 路径)

只要有匹配符合的,就不會再向下級匹配。

由於我其中一項設置為location ^~ /

使得正則完全無機會匹配得到,後來經修改後,終於可以匹配自動重定向。

 

Categories: 學習 | Tags: , , | Leave a comment

禁止吸菸

攝於廣州某茶餐廳

禁止吸菸

Categories: 未分類 | Leave a comment

國慶

國慶放假七日,1號去完朋友嚞宴,2號都要搵啲嘢搞下。就決定同老婆去行下城隍廟,然後再去買整蛋糕嘅材料,準備整嘢吃。

果然係長假,北京路人超多,直接就走去表哥飲個下午茶。

老婆大人

老婆大人

準備走時,同朋友一飛相遇,一齊出發去下半場活動。

城隍廟重新修葺後,需要唔係好大,但都幾靚,入門唔使錢,但一駐香(三支)¥2算係自願性質的門票,基本大部分都會買。

記得之前啱好睇到羊城晚報,有講到《大闹广昌隆之城隍庙前》,講述咗以前省城城隍廟的熱門氣氛。

裡面有幾句“直到城隍庙条路咁掂,又见灯笼一大对”“看下庙前甚喧哗,两边排到密卖紧凉茶”“在庙前各样,我都忙看罢”都睇出以前城隍廟前嘅繁華。

四牌樓街,即現今解放南、解放中

四牌樓街,即現今解放南、解放中

城隍廟上的大算盤

城隍廟上的大算盤

跟住就去買整蛋糕用品,而我就係旁邊同貓玩~~

佢開頭重型,兩只腳都踩埋上去個魚缸度 

佢開頭重型,兩只腳都踩埋上去個魚缸度

小食材料

小食材料

之前係睇到依度,就準備好上面嘅材料,準備夜晚再慢慢整。

Categories: 生活 | Tags: | Leave a comment

使用Nexus S的煩惱

說是用Nexus S的煩惱,其實也不是說這手機不好用。

只是…每次有人問我這是什麼手機的時候…

“這是Nexus S”

“什麼來的,沒聽說過”

“你拿去自己看吧!”

接過手機,翻到背面一看,上有Google logo,下有三星標誌

“哦,這是三星的手機”

“不是,是Google的,只是三星代工”

“這也是三星產的啊~”

然後又要慢慢說清楚情況。

後來漸漸的,有人問我手機的時候,我就直接回答

“三星手機”

 

Categories: 雜談 | Tags: | Leave a comment