bash logging al $() command lines


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting bash logging al $() command lines
# 1  
Old 12-08-2011
bash logging al $() command lines

I have been doing a lot more bash on LINUX RedHat and Ubuntu lately, and one thing keeps cropping up intermittently. If I do a $( some-commands ) Command Substitution, the some-commands are logged onto my screen each time they are evaluated. Did I turn on some odd option? It seems to happen just some times.

Last edited by DGPickett; 12-08-2011 at 03:18 PM..
# 2  
Old 12-08-2011
Not sure what you mean by logging. There's a few different things I can think of; maybe you did set -x, or maybe you put commands in the background and are seeing when they return.

Could you copy-paste exactly what it shows you?
# 3  
Old 12-08-2011
If set -x was on, there would be logging all over and as I recall it also does not log sub-shells.

Code:
$ for p in 9330 9329 9328 9327 9326 9314
do
  ect=$( cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' )
  echo "show processlist;
set global max_connections=5;
show global variables like 'max_connections';"
  kill -9 $p
  while [ $ect = $( cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' ) ]
  do
    sleep 5
  done
  echo "set global max_connections=151;
show global variables like 'max_connections';"
  ect2=0
  while [ $ect2 != $ect ]
  do
    ect2=$ect
    sleep 5
    ect=$( cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' )
  done
done | mysql -n -uxxxuser -pxxxpass xxx_db ; psm 9311
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
Id      User    Host    db      Command Time    State   Info
41421   c64confuser     arges9.xmen.eti:45334   host_sw_db      Connect 1151    Reading from net        NULL
41423   c64confuser     arges9.xmen.eti:45336   host_sw_db      Connect 1151    Reading from net        NULL
41424   c64confuser     arges9.xmen.eti:45337   host_sw_db      Sleep   1151           NULL
41428   c64confuser     arges9.xmen.eti:45343   host_sw_db      Sleep   1              NULL
41434   c64confuser     arges9.xmen.eti:45350   host_sw_db      Sleep   245            NULL
41437   c64confuser     arges9.xmen.eti:45353   host_sw_db      Sleep   1151           NULL
41439   c64confuser     arges9.xmen.eti:45355   host_sw_db      Sleep   0              NULL
41440   c64confuser     localhost       host_sw_db      Query   0       NULL    show processlist
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
Variable_name   Value
max_connections 5
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
Variable_name   Value
max_connections 151
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
Id      User    Host    db      Command Time    State   Info
41421   c64confuser     arges9.xmen.eti:45334   host_sw_db      Connect 1234    Reading from net        NULL
41423   c64confuser     arges9.xmen.eti:45336   host_sw_db      Connect 1234    Reading from net        NULL
41424   c64confuser     arges9.xmen.eti:45337   host_sw_db      Sleep   1234           NULL
41428   c64confuser     arges9.xmen.eti:45343   host_sw_db      Sleep   0              NULL
41437   c64confuser     arges9.xmen.eti:45353   host_sw_db      Sleep   1234           NULL
41439   c64confuser     arges9.xmen.eti:45355   host_sw_db      Sleep   1              NULL
41440   c64confuser     localhost       host_sw_db      Query   0       NULL    show processlist
41444   c64confuser     arges9.xmen.eti:45414   host_sw_db      Sleep   10             NULL
Variable_name   Value
max_connections 5
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
Variable_name   Value
max_connections 151
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load' 
 cat host-local/var/log/*|grep -c 'MySQL server is experiencing heavy load'

# 4  
Old 12-08-2011
Odd.
Code:
echo $-

to see what options you have set in your shell
# 5  
Old 12-08-2011
Code:
$ echo $-
himBH
$ bash --version
GNU bash, version 3.00.15(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.
$ set -o
allexport       off
braceexpand     on
emacs           off
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              on
xtrace          off
$


Last edited by DGPickett; 12-09-2011 at 09:46 AM..
# 6  
Old 12-09-2011
I am mystified. That's the same shell options I have and I've never observed anything like that Smilie
# 7  
Old 12-09-2011
The script is quite horrid. It looks like an attempt to avoid starting MySQL more than once while feeding it commands at varying time intervals down a pipeline dependent on external events. In the process MySQL appears to have managed to "set -v" each time a sub-shell is executed, suggesting that the MySQL is acting like a background task within the same sub-shell and messing with the environment.

The order of the output is interesting because there is Shell output within the MySQL program output. This implies concurrency.

If I were to write a script with a similar function I'd prepare the two simple MySQL programs in files and invoke MySQL when required with the relevant SQL program file as a parameter.

I guess that the "kill -9" is for previously identified looping clients and that setting the allowed concurrency artificially low is to stop more clients logging in while you kill the rogue process?
The script would be less complicated if it took the rogue pid as a parameter and was called from a wrapper script once per pid.

The script itself has great potential to loop - particularly if one of the pids is wrong.

Hmm. Just realised that the author may be trying to keep a connection open in case he can't make a new connection to clear the problem (presumably not an admin user of the database)? The whole process might be better as a MySQL program.

Last edited by methyl; 12-09-2011 at 02:21 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

BASH logging to file, limit lines

BASH Gurus: Anyone know how to append continuous output command appending to a file, but limit that file to no more than 20 lines? The program I have running is simply monitoring my UDP port 53 for incoming packets endlessly. I just need to keep this file from going over 20 lines. Once the file... (3 Replies)
Discussion started by: scorpius2k1
3 Replies

2. Shell Programming and Scripting

Command Logging

I searched the forums for command logging and the user "Driver" seemed to provide a script for logging shell commands with related info like date and time. The subject was "logging command invocations -cmdlog" . I would be interested in this script. Thanks (0 Replies)
Discussion started by: starcraft
0 Replies

3. Shell Programming and Scripting

running a bash script even after logging out from the current session

HI , I have a simple script that moves files from one folder to another folder, I have already done the open-ssh server settings and the script is working fine and is able to transfer the files from one folder to another but right now I myself execute this script by using my creditianls to... (4 Replies)
Discussion started by: nks342
4 Replies

4. Shell Programming and Scripting

Logging ALL standard out of a bash script to a log file, but still show on screen

Is it possible to store all standard-out of a bash script and the binaries it calls in a log file AND still display the stdout on screen? I know this is possible to store ALL stdout/stderr of a script to a single log file like: exec 1>&${logFile} exec 2>&1 But running a script with the... (3 Replies)
Discussion started by: ckmehta
3 Replies

5. Shell Programming and Scripting

bash telnet session logging

I'm looking at allowing remote telnet into my server. like any security-minded administrator, I want to log what my users type on the telnet session. I'm using the script command to generate transcripts of the users session. I have /etc/profile set to automatically start the script command... (2 Replies)
Discussion started by: ramnet
2 Replies

6. Shell Programming and Scripting

Reading lines from a file, using bash, "at" command

Hi. I have the script shown below. If I execute it form the command line it seems to work properly, but when I fun it using the unix "at" command "at -m now < ./kill-at-job.sh" It appears to hang. Below is the script, the input file, and the execution as reported in the e-mail from the "at"... (3 Replies)
Discussion started by: jbsimon000
3 Replies

7. Cybersecurity

Full Command Logging?

I am looking for a really good command logging tool to improve the auditing of my servers. I have previously used snoopy but this is currently a bit flaky and causing serious problems for me, it doesn't look like it's been maintained since 2004, it didn't even want to compile until I added -fPIC... (1 Reply)
Discussion started by: humbletech99
1 Replies

8. Solaris

shell command logging

Does anyone have a simple method of logging all shell commands typed by a user (csh in our case)? - I could enable auditing, but this would be overkill - I could enable process accounting, but AFAIK, this does not log arguments Thanks all. (2 Replies)
Discussion started by: minkie
2 Replies

9. UNIX for Dummies Questions & Answers

What is command for logging?

Hi, I am trying to recollect the command used to log a file. We use this command just before starting, say, installation. At the end you get a file capturing the series of commands you used during the course of time and sytems response. Could anybody please help. Thanks, Dasa (3 Replies)
Discussion started by: dtamminx
3 Replies

10. UNIX for Advanced & Expert Users

SSH and command logging

Hi all... I've completed the task of deploying SSH over my 400 servers. I don't know if i'm right or wrong, but ssh doesn't do any command-logging, does it? Is there a app i can use to log all commands passed ( besides the usual .sh_history), whith no modification possible by the user, and how... (2 Replies)
Discussion started by: penguin-friend
2 Replies
Login or Register to Ask a Question