Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Need to select files larger than 500Mb from servers Post 303018195 by donpasscal on Thursday 31st of May 2018 11:58:29 AM
Old 05-31-2018
[I've removed several pointless trs and greps and replaced the echos with printfs. Do you really need that!]

Thank you for the help i will test what you have provided and update the thread. I guess i do need them (trs) to stay in place.... i am just trying to mod the script that my lead gave me and he would not like that many changes made.

---------- Post updated at 10:58 AM ---------- Previous update was at 10:02 AM ----------

Code:
@apmcd47 ...Please see if you can help me figure this out....please.....!!!
This expect script is suppose to connect to SERVER DB01 that hosts two databases and pull the alert and listener log files sizes. The problem i am having is that the correct alert log/size file is pulled for both databases but the wrong listener log/size is pulled for testdb2...because in the output (below) the sid is set to testdb1 instead of testdb2. I need help in directing the script ot set the correct sid and to pull from the correct path for testdb2. I will also like the output to be in MB because i only want to print out the log files larger that 500MB and mail them out every day , then every friday i mail out the complete output.


[# command for gathering hostname
set v_host_command "echo hostname | tr '\\n' ':' ;hostname"]
[# Exception hostname
set v_host_null "echo''"]

[# command for gathering Listener Log
set v_listener_command "; echo ' Listener Log' | tr '\\n' ':'; echo '' | tr '\\n' ' ' ; lsnrctl status | grep Log | awk '{ print \$4 }' | sed 's/alert\\/log.xml/trace\\/listener.log/g' | tr '\\n' ' '; echo '-' | tr '\\n' ' ' ; du -sk `lsnrctl status | grep Log | awk '{ print \$4 }' | sed 's/alert\\/log.xml/trace\\/listener.log/g'` | awk '{ print \$1 }' | tr '\\n' ' ' ; echo '(KB)'"]


# add env setting command for db01 server TEST DB
[#set v_command_db01_testdb1 "export PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/users/oraclet/bin:/usr/bin/X11:/sbin:/usr/ccs/bin:/bin:/usr/local/bin:.:/oraclet/120/bin:/oraclet/120;export ORACLE_HOME=/oraclet/120;export ORACLE_SID=TESTDB1;"]

[# add env setting command for db01 server Catalog
set v_command_db01_testdb2 "export PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/users/oraclet/bin:/usr/bin/X11:/sbin:/usr/ccs/bin:/bin:/usr/local/bin:.:/oraclet/120/bin:/oraclet/120;export ORACLE_HOME=/oraclet/120;export ORACLE_SID=TESTDB2;"]

[# add env listener command for db01 server TEST DB
set v_listener_db01_1 "; echo ' Listener Log' | tr '\\n' ':'; echo '' | tr '\\n' ' ' ; echo '/oraclet/diag/tnslsnr/db01/listener/trace/listener.log' | tr '\\n' ' '; echo '-' | tr '\\n' ' ' ; du -sk /oraclet/diag/tnslsnr/db01/listener/trace/listener.log | awk '{print \$1 }' | tr '\\n' ' ' ; echo '(KB)'"]

[# add listener command for db01 server RMAN Catalog
set v_listener_db01_testdb1 "; echo ' Listener Log' | tr '\\n' ':'; echo '' | tr '\\n' ' ' ; echo '/oraclet/diag/tnslsnr/db01/listener_testdb2/trace/listener_TESTDB2.log' | tr '\\n' ' '; echo '-' | tr '\\n' ' ' ; du -sk /oraclet/diag/tnslsnr/db01/listener_testdb2/trace/listener_TESTDB2.log | awk '{print \$1 }' | tr '\\n' ' ' ; echo '(KB)'"]

[# now connect to remote UNIX box
} elseif {$v_server == $v_host_db01 && $v_user == $v_user_oraclet} {
spawn ssh $v_user@$v_server $v_command_db01_testdb1$v_host_command$v_exc_alert_command$v_listener_db01_1$v_end_command
match_max 100000]
[} elseif {$v_server == $v_host_db01 && $v_user == $v_user_oraclet} {
spawn ssh $v_user@$v_server $v_command_db01_testdb2$v_host_command$v_exc_alert_command$v_listener_db01_b$v_end_command
match_max 100000]

[# Look for passwod prompt
expect "*?assword:*"]

[# Send password
send "$v_password\r"]

[# send blank line (\r) to make sure we get back to gui
send "\r"
expect eof]


[running ssh oraclem@db01...
spawn ssh oraclem@db01 export PATH=/oraclet/120/bin:/usr/bin:/usr/ccs/bin:/usr/vac/bin:/usr/sbin:/sbin:/usr/bin/X11:/bin:/usr/local/bin:/usr/lbin:/usr/ucb:PATH:.;export ORACLE_HOME=/oraclet/120;export ORACLE_SID=TESTDB1;echo hostname | tr '\n' ':' ;hostname; echo ' Alert Log' | tr '\n' ':'; echo '' | tr '\n' ' ' ;echo /oraclet/diag/rdbms/testdb1/TESTDB1/trace/alert_TESTDB1.log | tr '\n' ' '; echo '-' | tr '\n' ' ' ; du -sk /oraclet/diag/rdbms/testdb1/TESTDB1/trace/alert_TESTDB1.log | awk '{ print $1 }'| tr '\n' ' ' ; echo '(KB)'; echo ' Listener Log' | tr '\n' ':'; echo '' | tr '\n' ' ' ; lsnrctl status | grep Log | awk '{ print $4 }' | sed 's/alert\/log.xml/trace\/listener.log/g' | tr '\n' ' '; echo '-' | tr '\n' ' ' ; du -sk `lsnrctl status | grep Log | awk '{ print $4 }' | sed 's/alert\/log.xml/trace\/listener.log/g'` | awk '{ print $1 }' | tr '\n' ' ' ; echo '(KB)';echo] [----------------------------------------------------------------------------------------------------------------------------------]
[Password:
hostname:db01
Alert Log: /oraclet/diag/rdbms/TESTDB1/TESTDB1/trace/alert_TESTDB1.log - 3 (KB)
Listener Log: /oraclet/diag/tnslsnr/db01/listener/trace/listener.log - 154255 (KB)]
[----------------------------------------------------------------------------------------------------------------------------------]
[running ssh oraclem@db01...(in this output its setting and connecting the the wrong sid ...testdb1...needs to be connecting to testdb2)
spawn ssh oraclem@db01 export PATH=/oraclet/120/bin:/usr/bin:/usr/ccs/bin:/usr/vac/bin:/usr/sbin:/sbin:/usr/bin/X11:/bin:/usr/local/bin:/usr/lbin:/usr/ucb:PATH:.;export ORACLE_HOME=/oraclet/120;export ORACLE_SID=TESTDB1;echo hostname | tr '\n' ':' ;hostname; echo ' Alert Log' | tr '\n' ':'; echo '' | tr '\n' ' ' ;echo /oraclet/diag/rdbms/testdb2/TESTDB2/trace/alert_TESTDB2.log | tr '\n' ' '; echo '-' | tr '\n' ' ' ; du -sk /oraclet/diag/rdbms/testdb2/TESTDB2/trace/alert_TESTDB2.log | awk '{ print $1 }'| tr '\n' ' ' ; echo '(KB)'; echo ' Listener Log' | tr '\n' ':'; echo '' | tr '\n' ' ' ; lsnrctl status | grep Log | awk '{ print $4 }' | sed 's/alert\/log.xml/trace\/listener.log/g' | tr '\n' ' '; echo '-' | tr '\n' ' ' ; du -sk `lsnrctl status | grep Log | awk '{ print $4 }' | sed 's/alert\/log.xml/trace\/listener.log/g'` | awk '{ print $1 }' | tr '\n' ' ' ; echo '(KB)';echo]
[----------------------------------------------------------------------------------------------------------------------------------]
[Password:
hostname:db01
Alert Log: /oraclet/diag/rdbms/testdb2/TESTDB2/trace/alert_TESTDB2.log - 770 (KB)
Listener Log: /oraclet/diag/tnslsnr/db01/listener/trace/listener.log - 154255 (KB)]
[Listener Log: /oraclet/diag/tnslsnr/db01/listener_testdb2/trace/listener_TESTDB2.log - 154255 (KB)]

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

sending larger files via ftp

hi all, i am looking for ways to make ftp efficient by tuning the parameters currently, tcp_max_buf is 1 MB tcp_xmit_hiwat is 48 KB say to transmit multiple 2 gb files from unix server to mainframe sys, will increasing the window size or the send buffer size of the current TCP/IP... (6 Replies)
Discussion started by: matrixmadhan
6 Replies

2. IP Networking

Select DNS Servers depending on the domain

Hello, I'm using CentOS 5.3, and I connect to a VPN in order to work. The problem is that I'm constantly accessing things on the local network and the remote network. But once I'm connected to the VPN I can't access local addresses by name, I have to use the ip-address. What I'd like is to... (4 Replies)
Discussion started by: martincastell
4 Replies

3. UNIX for Advanced & Expert Users

read() wont allow me to read files larger than 2 gig (on a 64bit)

Hi the following c-code utilizing the 'read()' man 2 read method cant read in files larger that 2gig. Hi I've found a strange problem on ubuntu64bit, that limits the data you are allowed to allocate on a 64bit platform using the c function 'read()' The following program wont allow to allocate... (14 Replies)
Discussion started by: monkeyking
14 Replies

4. AIX

Tar files larger than 2GB

Hi, Does anyone know if it is possible to tar files larger than 2GB? The reason being is they want me to dump a single file (which is around 20GB) to a tape drive and they will restore it on a Solaris box. I know the tar have a limitation of 2GB so I am thinking of a way how to overcome this.... (11 Replies)
Discussion started by: depam
11 Replies

5. Shell Programming and Scripting

How to compare if the size of the directory is more than 500MB in unix

I use du -sk command to find the size of the directory but when i use the result of 'du -sk' into if statement its throwing error.. Could u solve with this..? (14 Replies)
Discussion started by: shaal89
14 Replies

6. UNIX for Dummies Questions & Answers

Using UNIX Commands with Larger number of Files

Hello Unix Gurus, I am new to Unix so need some help on this. I am using the following commands: 1) mv -f Inputpath/*. outputpath 2) cp Inputpath/*. outputpath 3) rm -rf somepath/* 4) Find Inputpath/*. Now I get the following error with... (18 Replies)
Discussion started by: pchegoor
18 Replies

7. UNIX for Dummies Questions & Answers

7z command for files larger than 4GB ( unzip doesn't work)

My unzip command doesn't work for files that are greater than 4GB. Consider my file name is unzip -p -a filename.zip, the command doesn't work since the size of the file is larger. I need to know the corresponding 7z command for the same. This is my Unix shell script program: if then ... (14 Replies)
Discussion started by: chandraprakash
14 Replies

8. Shell Programming and Scripting

Backingup larger files with TAR command

I need to backup my database but the files are very large and the TAR command will not let me. I searched aids and found that I could do something with the mknod, COMPRESS and TAR command using them together. I appreciate your help. (10 Replies)
Discussion started by: frizcala
10 Replies

9. UNIX for Dummies Questions & Answers

Split larger files into smaller ones with Column names

Hi, I have one large files of 100000 rows with header column. Eg: Emp Code, Emp Name 101,xxx 102,YYY 103,zzz ... ... I want to split the files into smaller files with only 30000 rows each..File 1,2 and 3 must have 30000 rows and file 4 must contain 10000 rows. But the column... (1 Reply)
Discussion started by: Nivas
1 Replies

10. UNIX for Beginners Questions & Answers

Help with Expect script for pulling log files size larger than 500Mb;

I am new at developing EXPECT scripts. I'm trying to create a script that will automatically connect to a several UNIX (sun solaris and HPUX) database server via FTP and pull the sizes of the listener/alert log files from specified server directory on the remote machines. 1. I want the script... (7 Replies)
Discussion started by: mikebantor
7 Replies
All times are GMT -4. The time now is 03:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy