自己写的一些shell脚本
more autosftp.sh
#!/bin/sh
file=nohup.out
echo `date +%Y-%m-%d-%H%M` >>sftp.log
lftp -u redis,redis sftp://10.118.242.206:20020 <<$EOF >>sftp.log
get $file
quit
EOF
if ls|grep $file
then
echo "$file down sucessful"
fi
more reconfig.sh
#!/bin/sh
echo `date +%Y-%m-%d-%H%M`
sqlplus -S "td/td" << EOF
select * from account;
EOF
more ki.sh
#!/bin/sh
ccc=`ps -ef|grep /home/oracle/dmp/backData|grep -v grep|awk '{print $2}'`
for i in $ccc
do
echo $ccc
kill -9 $ccc
done
count=`ps -ef|grep /home/oracle/dmp/backData|wc -l`
if [ $count -lt "1" ]
then
echo "kill the process sucessfull"
fi
more scp.sh
#!/usr/bin/expect
spawn scp -P 20020 redis@10.118.242.206:/home/redis/nohup.out ./
expect "*password:"
send "redis\n"
expect eof
more testexpect.sh
#!/usr/bin/expect
set timeout 5
set server [lindex $argv 0]
set user [lindex $argv 1]
set passwd [lindex $argv 2]
spawn ssh -l $user $server
expect {
"(yes/no)" { send "yes\r"; exp_continue }
"password:" { send "$passwd\r" }
}
expect "*Last login*" interact
more trust.sh
#!/bin/sh
if [ -e rsa.pub ]
then
cat rsa.pub >>~/.ssh/authorized_keys
chmod 700 ~/.ssh/authorized_keys
fi
if [ $? -eq 0 ]
then
echo "Job has been finished successfully!"
else
echo "Job failed!"
fi
---about date openation
#!/bin/sh
ti=`date +%H`
#ti="09"
if [ $ti = "09" ]
then
# dates=`date --date="yesterday" +%Y%m%d`
dates=`date -d "-1 days" +"%Y%m%d"`
#if [ -d /home/oracle/dmp/${dates} ]
# then
if [ ! -f /home/oracle/dmp/${dates}.tar.gz ]
then
tar -zcvf ${dates}.tar.gz $dates > /dev/null 2>>/home/oracle/dmp/backData.log
if [ `ls|grep ${dates}.tar.gz|wc -l` -gt 0 ]
then
echo "${dates} compress success" 2>>/home/oracle/dmp/backData.log
rm -rf ./${dates}
fi
else
echo "${dates}.tar.gz exist"
fi
#fi
fi
---auto start oracle by background
more autoStartOracleService.sh
#!/bin/sh
sqlplus / as sysdba <<EOF
startup
EOF
---backup oracle
more backData.sh
#!/bin/sh
. /home/oracle/.bash_profile
now=`date +%Y-%m%d-%H%M`
day=`date +%Y%m%d`
dmp_dir="/dump/oracle_dump"
cd $dmp_dir
if [ ! -d $day ]
then
mkdir ${dmp_dir}/${day}
else
echo "the directory of ${dmp_dir}/${day} is exist"
fi
#while :
#do
#************EXP***************************
exp at/sfatoracle owner=at file="${dmp_dir}/${day}/npdb_at_${now}.dmp" log="${dmp_dir}/${day}/npdb_at_${now}_exp.log" buffer=6000000
exp td/cmstddeploy owner=td file="${dmp_dir}/${day}/npdb_td_${now}.dmp" log="${dmp_dir}/${day}/npdb_td_${now}_exp.log" buffer=6000000
exp adms/sfadmsoracle owner=adms file="${dmp_dir}/${day}/npdb_adms_${now}.dmp" log="${dmp_dir}/${day}/npdb_adms_${now}_exp.log" buffer=6000000
exp pms/sfpmsoracle owner=pms file="${dmp_dir}/${day}/npdb_pms_${now}.dmp" log="${dmp_dir}/${day}/npdb_pms_${now}_exp.log" buffer=6000000
#sleep 43200
#done
#***********expdb**************************
#expdp td/tdcmsdeploy@npdb schemas=td directory=BAK_DIR dumpfile ="${dmp_dir}/${day}/npdb_td_${now}.dmp" logfile="${dmp_dir}/${day}/npdb_td_${now}_expdp.log"
#expdp adms/sfadmsoracle@npdb schemas=adms directory=BAK_DIR dumpfile ="${dmp_dir}/${day}/npdb_adms_${now}.dmp" logfile="${dmp_dir}/${day}/npdb_adms_${now}_e
xpdp.log"
#expdp at/at@npdb schemas=at directory=BAK_DIR dumpfile ="${dmp_dir}/${day}/npdb_at_${now}.dmp" logfile="${dmp_dir}/${day}/npdb_at_${now}_expdp.log"
sleep 120
#process=`ps -ef|grep ${dmp_dir}/backData|grep -v grep|awk '{print $2}'`
#for i in $process
#do
# kill -9 $process
#done
#count=`ps -ef|grep ${dmp_dir}/backData|wc -l`
#if [ $count -lt "1" ]
#then
# echo "****kill the process sucessfull*************"
#fi
ti=`date +%H`
echo "**********************${ti}*******************" >> backData.log
if [ $ti = "01" ]
then
#dates=`date --date="yesterday" +%Y%m%d`
dates=`date -d "-1 day" +%Y%m%d`
if [ -d ${dmp_dir}/${dates} ]
then
if [ ! -f ${dmp_dir}/${dates}.tar.gz ]
then
tar -zcvf ${dmp_dir}/${dates}.tar.gz ${dmp_dir}/${dates} > /dev/null 2>>${dmp_dir}/backData.log
fi
if [ `ls ${dmp_dir}/${dates}.tar.gz|wc -l` -gt 0 ]
then
echo "${dmp_dir}/${dates} compress success" 2>>${dmp_dir}/backData.log
/bin/rm -rf ${dmp_dir}/${dates}
fi
fi
#start to long-distance back-up
echo "start to long-distance back-up,${dates}
" >>${dmp_dir}/backData.log
${dmp_dir}/.scp.sh ${dates}.tar.gz >>${dmp_dir}/backData.log
echo "***************long-distance back-up complete********************"
fi
more rman.sh
#!/bin/sh
. /home/oracle/.bash_profile
sh ~/.bash_profile
echo "*****************$(date +%Y-%m%d-%H-%m-%S)******************" >>rman.log
rman target/ << EOF >> /home/oracle/dmp/rman.log
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-3';
YES
EOF
浙公网安备 33010602011771号