個人心情和 Linux / FreeBSD 等技術
2008/02/12
利用mpack寄送附件
查詢了一下以 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
參考資料
PTT CD-R版
2007/05/10
rsync 保持檔案同步
# rsync -ae ssh your.machine.tw:/usr/local/apache/htdocs > \
/usr/local/apache/htdocs/
不過這樣使用要注意 ssh key 已經安裝到各個機器上了
2007/05/06
CD-DVD Speed 測出的 Jitter 值如何解釋?
的差,單位為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版精華區