shell常用指令碼&crontab設定
shell常用指令碼&crontab設定
root使用者
0,30 * * * * sh /data/run/ntp 1>/data/run/log/ntp.log 2>>/data/run/log/ntp.bad
* * * * * sh /data/run/loadavg 1>/data/run/log/loadavg.log 2>>/data/run/log/loadavg.bad
oracle使用者
15 0 * * * sh /data/run/autodel 1>>/data/run/log/autodel.log 2>>/data/run/log/autodel.bad
20 0 * * * sh /data/run/autoexp 1>/data/run/log/autoexp.log 2>/data/run/log/autoexp.bad
30 0 * * 6 sh /data/run/rmanfull.sh 1>/data/run/log/rmanfull.log 2>/data/run/log/rmanfull.bad
30 7 * * 6 sh /data/run/autostats 1>/data/run/log/autostats.log 2>/data/run/log/autostats.bad
1.同步時間(以下都是touch後,直接加入既可)
#! /bin/sh
/usr/sbin/ntpdate xxx
/sbin/hwclock -w
2.收集負載資訊
# record cpu avg loading .
date >>/data/run/log/loadavg.txt
cat /proc/loadavg >>/data/run/log/loadavg.txt
3.1.exp備份
----in windows circumstance
@echo off
set year=%date:~10,4%
set month=%date:~4,2%
set day=%date:~7,2%
set mydate=%year%%month%%day%
set hhmmss=%time:~0,2%%time:~3,2%%time:~6,2%
rem if "%hhmmss:~0,1%"==" " set hhmmss=0%time:~1,1%%time:~3,2%%time:~6,2%
rem echo ------------------------------------------------ >> E:\expepd3eco\x.txt
rem echo %mydate%_%hhmmss% >> E:\expepd3eco\x.txt
rem echo ------------------------------------------------ >> E:\expepd3eco\x.txt
echo
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
exp system/"xxx" file=e:\expdata\eco_%mydate%%hhmmss%.dmp log=E:\expdata\log\eco_%mydate%%hhmmss%.log full=y
3.2 exp
----in Linux circumstance
#!/bin/sh
cd /data/expbak
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
NLS_LANG=american.AL32UTF8;export NLS_LANG
FILENAME=`date +%Y%m%d%H`
/u01/product/oracle/bin/exp 'system/"xxx"' file='xxx'$FILENAME full=y log=xxx$FILENAME.log
/usr/bin/gzip 'xxx'$FILENAME'.dmp'
find /data/expbak -atime +5 -exec rm -f {} \;
4.1 開機指令碼
----in Linux circumstance(單機)
#!/bin/sh
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
/u01/product/oracle/bin/sqlplus /nolog <
startup;
exit;
EOF
/u01/product/oracle/bin/lsnrctl <
exit
EOF
雙機(10G OCFS2)
#!/bin/sh
srvctl start nodeapps -n ecsrac01
srvctl start nodeapps -n ecsrac02
srvctl start database -d ecsdb
emctl start dbconsole
5.1 關機指令碼
----in Linux circumstance(單機)
#!/bin/sh
/u01/product/oracle/bin/lsnrctl <
exit
EOF
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
/u01/product/oracle/bin/sqlplus /nolog <
alter system switch logfile;
/
/
shutdown immediate;
exit;
EOF
雙機
#!/bin/sh
emctl stop dbconsole
srvctl stop database -d ecsdb
srvctl stop nodeapps -n ecsrac01
srvctl stop nodeapps -n ecsrac02
6.1 重新編譯無效的包
方法一
----in Linux circumstance
#!/bin/sh
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
/u01/product/oracle/bin/sqlplus /nolog <
@$ORACLE_HOME/rdbms/admin/utlrp.sql;
exit;
EOF
方法二 --執行計劃的包
#!/bin/sh
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
/u01/product/oracle/bin/sqlplus /nolog <
drop table plan_table;
@$ORACLE_HOME/rdbms/admin/utlxplan;
@$ORACLE_HOME/rdbms/admin/prvtspao.plb;
@$ORACLE_HOME/rdbms/admin/utlrp.sql;
exit;
EOF
6.2 重新編譯無效的包(加強版)
----in Linux circumstance
#!/bin/sh
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
/u01/product/oracle/bin/sqlplus /nolog <
drop table plan_table;
@$ORACLE_HOME/rdbms/admin/utlxplan;
@$ORACLE_HOME/rdbms/admin/prvtspao.plb;
@$ORACLE_HOME/rdbms/admin/utlrp.sql;
exit;
EOF
7.1定時刪除日誌的
----in Linux circumstance
#!/bin/bash
find /opt/oracle/admin/smt/bdump/*.trc -mmin +4320 -exec rm -f {} \;
find /opt/oracle/admin/smt/udump/*.trc -mmin +4320 -exec rm -f {} \;
find /opt/oracle/arch1/*.dbf -mmin +10080 -exec rm -f {} \;
8.1 rman備份指令碼
第一步 先設定crontab定時跑
第二步
#!/bin/sh
ORACLE_HOME=/opt/oracle/product/9.2.0;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
rm -f /data/rmandata/*
echo 'Recovery Manager Start at '`date`'.' >/data/run/log/rman.log
$ORACLE_HOME/bin/rman target / @'/data/run/rmanfull.sql' log /data/run/log/rman.log
echo 'Recovery Manager End at '`date`'.' >>/data/run/log/rman.log
第三步
run{
allocate channel dev1 type disk;
allocate channel dev2 type disk;
allocate channel dev3 type disk;
allocate channel dev4 type disk;
backup full tag 'dbfull'
format '/data/rmandata/full_%d_%T_%U' database;
sql 'alter system archive log current';
release channel dev1;
release channel dev2;
release channel dev3;
release channel dev4;
allocate channel dev1 type disk;
backup
format '/data/rmandata/ctl_%d_%T_%U' current controlfile;
release channel dev1;
}
9.1 定時收集統計資訊
#!/bin/sh
source /home/oracle/.bash_profile
echo 'start datetime --> ' `date`
################################################
sqlplus -S '/as sysdba' <
dbms_stats.gather_schema_stats(ownname=> 'xxx' , estimate_percent=> 15 , cascade=> TRUE );
dbms_stats.gather_schema_stats(ownname=> 'xxx' , estimate_percent=> 15 , cascade=> TRUE );
dbms_stats.gather_schema_stats(ownname=> 'xxx' , estimate_percent=> 15 , cascade=> TRUE );
end;
/
exit
EOFarch1
#################################################
echo 'finish datetime --> ' `date`
10.1定時跑awr
第一步
30 0 * * * sh /home/oracle/dba/awr 1>/u01/run/log/autoawr.log 2>/u01/run/log/autoawr.bad
第二步
#!/bin/sh
cd /u01/logbak
rm *.html(方法一)
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=xxx;export ORACLE_SID
$ORACLE_HOME/bin/sqlplus /nolog<connect / as sysdba;
@/u01/run/autoawr.sql;
exit
!
find /u01/logbak/xxx*.html -mmin +4320 -exec rm -f {} \; (方法二)
-------------------
待更新。。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25850100/viewspace-714940/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux Crontab Shell指令碼實現秒級定時任務Linux指令碼
- 常用shell指令碼指令碼
- linux常用的shell指令碼Linux指令碼
- 如何用crontab每隔1分鐘執行一個命令列指令碼,shell設定時任務命令列指令碼
- Shell指令碼常用命令整理指令碼
- 設定Linux伺服器IP地址的shell指令碼Linux伺服器指令碼
- shell指令碼放到crontab裡就執行不成功的問題指令碼
- Shell 指令碼程式設計陷阱指令碼程式設計
- shell指令碼指令碼
- shell指令碼程式設計筆記指令碼程式設計筆記
- 7.shell指令碼程式設計指令碼程式設計
- 34 個 常用 Linux Shell 指令碼,運維必備!Linux指令碼運維
- 18 個一線工作中常用 Shell 指令碼指令碼
- ORACLE常用定時備份指令碼Oracle指令碼
- 伺服器部署python指令碼並使用crontab定時執行伺服器Python指令碼
- Shell程式設計-01-Shell指令碼初步入門程式設計指令碼
- shell指令碼案例指令碼
- Linux Shell指令碼Linux指令碼
- 【學習】Linux Shell指令碼程式設計Linux指令碼程式設計
- shell指令碼(6)-shell陣列指令碼陣列
- shell高效程式設計:shell指令碼從未如此美麗程式設計指令碼
- Shell指令碼程式設計規範與變數(shell指令碼必須要知道的規矩!)指令碼程式設計變數
- 10 個實戰及面試常用 Shell 指令碼編寫面試指令碼
- 簡單介紹Shell中的定時任務 crontab
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- shell 指令碼加密 | shc指令碼加密
- 執行shell指令碼指令碼
- Shell 指令碼語句指令碼
- 初識shell指令碼指令碼
- 【指令碼】shell語法指令碼
- shell 指令碼寫法:指令碼
- 如何加密shell指令碼加密指令碼
- shell指令碼總結指令碼
- shell指令碼之變數定義規範及使用指令碼變數
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- Linux Shell指令碼程式設計while語句案例Linux指令碼程式設計While
- shell指令碼-免互動指令碼
- 【shell】磁碟監控指令碼指令碼