基礎知識:
crontab-操作每個使用者的精靈和該執行的時間表。
部分參數說明
crontab file [-u user]-用指定的檔案替代目前的crontab。
crontab-[-u user]-用標準輸入替代目前的crontab.
crontab-l[user]-列出使用者目前的crontab.
crontab-e[user]-編輯使用者目前的crontab.
crontab-d[user]-刪除使用者目前的crontab.
crontab-c dir- 指定crontab的目錄。
crontab檔案的格式:M H D m d cmd
M: 分鐘(0-59)。
H:小時(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期內的天(0~6,0為星期天)。
cmd要啟動並執行程式,程式被送入sh執行,這個shell只有USER,HOME,SHELL這三個環境變數。
基本命令:
vi編輯,ll=ls -l,ls列表,crontab同上 ,cat查看
cp拷貝(格式:cp 源檔案 新檔案)
mv移動檔案 參數 -i 表示有同名檔案會詢問是否覆蓋
rm刪除檔案
-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
-r 將目錄及以下之檔案亦逐一刪除。
本文來自: SOHO財富(www.88one.com) 詳細出處參考:
tail -/+數字 檔案名稱 輸出部分檔案內容(數字表示行)
chmod命令用來改變檔案模式
.sh檔案建立好後,用chmod 775 檔案名稱.sh 改變可以執行的屬性
1.建立.log記錄檔 .log檔案是空白的
2.建立.sql資料庫庫檔案,運行資料庫中某個過程
.sql檔案一般是 exec 過程名;exit;
3.建立.sh可執行檔!
.sh檔案是
export ORACLE_HOME=/oracle/product/10.2.0/db_1
export ORACLE_OWNER=oracle
export ORACLE_SID=boss
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PAT=/oracle/product/10.2.0/db_1/lib:$LD_LIBRARY_PATH
export NLS_LANG="American_america.zhs16gbk"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
PATH=$PATH:$ORACLE_HOME/bin
export PATH
sqlplus boss/boss_dev@boss @$ORACLE_HOME/boss_job/p_hkb_linux_test.sql >> $ORACLE_HOME/boss_job/p_hkb_linux_test.log
注意:@ 檔案名稱.sql 直接調用執行檔案
4.建立完,在crontab -e中添加如下任務:
#hkb備份測試 --注釋部分
8 * * * * /oracle/product/10.2.0/db_1/boss_job/p_hkb_linux_test.sh
chmod 775 檔案名稱.sh
下面是crontab的例子:
#話單處理,每隔10分鐘調用
00,10,20,30,40,50 * * * * /oracle/product/10.2.0/db_1/boss_job/p_prep_ori_cdr.sh
#每天啟動並執行過程,內部調用子過程
01 01 * * * /oracle/product/10.2.0/db_1/boss_job/p_main_day.sh
#每天每小時的過程,NC運營統計報表
01 * * * * /oracle/product/10.2.0/db_1/boss_job/p_rep_business_stat_hour.sh
10 03 * * * /oracle/product/10.2.0/db_1/boss_job/autoexp1.sh
#01 3 * * * /bossdata/orabackup2/autoexp2.sh
#每天刪除前兩天歸檔的記錄檔
01 02 * * * rm `find /oracle/flash_recovery_area/BOSS/archivelog -mtime +5` -rf