個人心情和 Linux / FreeBSD 等技術

顯示具有 backup 標籤的文章。 顯示所有文章
顯示具有 backup 標籤的文章。 顯示所有文章

2008/02/12

利用mpack寄送附件

最近想利用Gmail的大空間進行異地備份資料庫

查詢了一下以 mpack 最為方便

我用到的 mpack option 有
mpack [ -s subject ] [ -m maxsize ] [ -c content-type ] file address ...
-s :後面接信件的標題
-m:後面接正整數位元組 ,意思是檔案超過這個大小後會自動的分割成符合
   大小的附件,但指定 0 值則為不限制大小的意思
-c:後面接 MIME type,(man page中寫到不指定此選項的話mpack會
  自動檢驗並決定其MIME type)
file:是檔案的位置
address:指定E-mail位置


以下是學校的 Shell Script 備份
#!/bin/bash
#######Written By Rellik 2008-02-12##############
########環境設定#################################
#################################################
TODAY=`date +%Y%m%d`
BACKUP_PATH='/home/backup'
BACKUP_EMAIL='your@gmail.com' (改成自己的mail空間)
###############################################
####利用mysqldump備份############################
###############################################
cd $BACKUP_PATH
/usr/bin/mysqldump -h localhost --user=root --password=******** xoops2 > "$BACKUP_PATH"/"$TODAY".xoops2.sql (password被我隱藏)
/bin/tar -zcvf "$TODAY".xoops2.sql.tar.gz "$TODAY".xoops2.sql
################################################
######寄送到Gmail###############################
################################################
if test -s "$BACKUP_PATH"/"$TODAY".xoops2.sql.tar.gz
then
/usr/bin/mpack -s "BackupXoops2Mysql `date +%Y-%m-%d_%H:%M`" -m 10000000 $BACKUP_PATH/$TODAY.xoops2.sql.tar.gz "$BACKUP_EMAIL"
fi
################################################
#####刪除原始SQL檔##############################
################################################
if test -s "$BACKUP_PATH"/"$TODAY.xoops2.sql"
then
/bin/rm -rf "$BACKUP_PATH"/"$TODAY.xoops2.sql"
fi


寫好後注意權限直接丟到系統crontable跑即可

後續測試
1.壓縮 dump出來的 sql檔案,真的差蠻多的!沒壓縮前3873240位元組(約3.xMB)
 壓縮後 880244 (8xxKB)差了四倍之多,建議壓縮節省頻寬

2.mpack -c選項,基本上不指定送出到Gmail的時間也不會差很多,
所以個人就不指定了 。

2007/05/20

cdrecord & mkisofs

語法
cdrecord [general options] dev=device [track option] track1...trackn

dev
的語法是 dev= scsibus,target,lun 或是 dev= target,lun.

而scsibus、target和 lun 都是整數數字。這些數字代表裝置

的位置,如果你有 SCSI介面的裝置,在WindowsXP的裝置

管理員中也會看到類似的代號。


cdrecord
是完全基於 SCSIbus 的命令,所以基本能夠對應所

有的SCSI燒錄機,而因 ide-scsi 驅動程式的關係,在linux上

使用IDE或其他規格的控制介面燒錄器,已經不是問題了,因

為 ide-scsi 核心模組能將IDE燒錄器模擬成 SCSI燒錄器。

scsibus 0
則是預設的 SCSI bus ,可在開機訊息和 log中多留

意你機器上的 SCSI設定。



假如不知道或忘了 dev 的設定值,可以試試 -scanbus 的參

數來掃瞄代號。

# cdrecord -scanbus 只需要作一次把掃得的代號記住,ex: 0,1,0 。

常用的 General Options

-version
顯示 cdrecord 版本訊息


-v
顯示詳細訊息,用於燒錄時


-dao Disc At Once 模式寫入模式的一種。燒寫光碟時,

從Lead-in開始寫起,一次從頭到尾把資料寫完,並且自動

close Disc。用此模式寫入,軌與軌之間將不會有Link Block

(Gap) 產生,所以若以此法複製碟片,子片總長度會和原來的

來源光碟片相同。(建議使用)


-sao 與Disc at Once相似,兩者最主要的差別是 Disc at Once

在寫之後,此光碟片便無法再寫入資料,但Session at Once卻

可以利用 Multi-Session 的方式再將資料寫入光碟片內。


-tao 寫入模式的一種。燒寫光碟時,一次只寫入一軌,所以寫

入時可以在軌與軌之間中斷。這種寫入模式是用在漸增式寫入

(Incremental Recording)的方式上。


Speed=# 這個值也是整數,寫入 CD 的話 speed=1 的速度大約

是150 KB/s ,1385 kB/s for DVD 。沒有指定寫入速度的話 ,會

到 /etc/cdrecord.conf 的設定檔中找 CDR_SPEED=__ 的值當作預設

寫入速度,如果沒指定這個值的話,則會以所支援的最大速度寫入,

如果指定 speed=0 的話,裝置則會以最慢速度寫入(最慢不見得就好

...有時會適得其反造成寫入品質低落,而且也會造成過度耗電和發熱...)

,建議速度是燒錄機最大速度砍一半, ex : 16倍就以8倍燒


-multi 多區段寫入,可用於 sao 。

-format 用在 DVD+RW 等可複寫式的要重新寫入資料前,把RW片清空用。

blank=type 同 format 是用於 CD-RW。 ( 有 all 和 fast )

-data 這種格式簡單來說就是燒錄一般資料使用,會以 Mode 1

寫入。Mode1是 Data CD ,光碟的容量計算是以MB為單位,含

所謂的錯誤修正碼 ( ECC ) 於光碟片的每個磁區,其大小為2048

Bytes,可以藉此來修正讀取資料時的錯誤,以保資料的正確性,

通常此種資料結構適用於不允取有絲毫錯誤的資料上。


-mode2 mode2是Audio CD & Video CD,光碟的容量計算是以

分鐘為單位,備份像RMVB、AVI這種影像檔雖說是影像檔,但仍

然算是mode 1格式... 。由於mode 2記錄方式並沒有放入糾錯碼

(因此mode 2寫入往往可以寫入較多資料) 因此,為防mode 2寫入

造成錯誤,造成了mode 2 理論上寫入速度越慢越好。


另外需要用到 mkisofs 這個小程式

語法:

mkisofs [ options ] [ -o filename ] path

-o 是指輸出成什麼名字,例如 image 或 image.iso

path 是指哪個目錄下的檔案要燒錄

-r 設定在所有光碟中的檔案為公眾可讀和開啟 Rock Ridg,

這種格式能把 unix檔案系統的特有資訊 (長檔名、擁有者、

權限位元)保存在光碟上且同時保持 ISO 9660 格式的相容性。

-J joliet格式,windows系統需要。


所以看起來會長成這樣子


# mkisofs -rJ -o image.iso path/


ps.
單一檔案如果超過2GB以上的話要改用 -udf 的選項,

udf 格式詳見wiki。



最後燒錄

# cdrecord -v -dao speed=8 dev=0,0,0 -data image.iso


參考資料

cdrecord manpage

mkisofs manpage

中文版HowTo

PTT CD-R版

2007/05/10

rsync 保持檔案同步

把指令寫入crontable跑即可~

# rsync -ae ssh your.machine.tw:/usr/local/apache/htdocs > \
/usr/local/apache/htdocs/

不過這樣使用要注意 ssh key 已經安裝到各個機器上了

2007/05/06

CD-DVD Speed 測出的 Jitter 值如何解釋?

Jitter 的概念,就是指每一個 Pit,Land 的規定長度與實際長度
的差,單位為ns(十億分之一秒)。紅皮書規定了 CD 的 3T-Jitter
值應當小於 35ns 。

在 DVD 的場合,由於加入了資料對於 PLL 時鐘電路信號的偏差,
其 Jitter值的標準並不是以 ns 這個單位來表示,而是以%來表示。
一張質量好的DVD 光碟, Jitter 的範圍應當控制在8%以 下。
但是理論上 Jitter 值越小越好。

就針對刻錄盤而言,Jitter的大小除了受到 Pit 和 Land 長度偏差
的影響之外,還與刻錄深度對於讀取電平的 平衡度(Beta)、Pit
和 Land 之間的跳轉信號清晰度有關係。

請注意,用此功能所測得的 Jitter 曲線是相對值,它可以讓用戶
看到一張光碟上的 Jitter 值的變化趨勢。表徵一張碟片品質的穩
定程度。使用此功能對一張光碟進行測試時,必須結合該光碟的
C1/C2 或者 PI/PO 綜合判斷。

單純使用此功能對 2 張不同的碟片進行 Jitter 測試,來比較其
結果數值的大小是沒有任何實際意義的,也完全不能說明這
2 張光碟的刻錄品質(也包括音質在內)誰好誰壞!

資料來源
PTT bbs CD-R版精華區