2008年6月26日 星期四

Linux Shell Script(初階)

# ===== 編輯軟體 ===================================================
1.使用Linux的vi文書編輯軟體
建議使用vi直接新增script檔,之後可以用notepad或其他文書編輯軟體編輯

2.可直接使用Windows的notepad文書編輯軟體

3.若改來改去,後來無法執行,可能是Return Method的問題
可用文字編輯軟體EmEditor將檔案另存
並修改Return Method:將CR+LF(Windows)改成LF Only(UNIX)
Encoding可以維持System Default(950,big5),如此才能在正常在Linux上執行

# ===== 排程執行 ===================================================
可在crontab排程執行shell script


# ===== 一般debug或logging用 ==========================================
顯示在Console
echo "test!!!"

寫入test.log文字檔
echo "test!!!" > /tmp/test.log

取得當下日期與時間寫入文字檔
echo "NowDate_"`date '+%Y-%m-%d %H:%M'` > /tmp/test.log
寫入到test.log文字檔結果是 NowDate_2008-12-05 15:30


# ==== 使用變數 ====================================================
backupFilefolder='2008-06-25'
TARFILE='/media/cdrom/'$backupFilefolder'/'$backupFilefolder'_data.tar.gz'

echo $TARFILE
輸出到console的結果是/media/cdrom/2008-06-25/2008-06-25_data.tar.gz

tar -zxvf $TARFILE
也就是執行tar -zxvf /media/cdrom/2008-06-25/2008-06-25_data.tar.gz


# ==== 判斷式 ======================================================
if [ -f /etc/init.d/mysql ]; then
/etc/init.d/mysql stop
else
echo "could not find /etc/init.d/mysql script, exit..."
exit 1
fi

=================================================================
Linux Shell Script(中階)
用日期當作變數
發送mail
....

沒有留言: