Skip to main content

[bash-script] vsz, rss logger for one process

#!/bin/bash
BIN_PROC_FILES="my_bin"
LOG_FILE=/tmp/memlog.log
RM_LOG_FILE=0
G_STDOUTPUT=1

function write_log
{
  CUR_TIME_STR=`date +"%Y%m%d_%H%M%S"`
  if [ ${G_STDOUTPUT} -gt 0 ]; then
    echo "${CUR_TIME_STR} $1"
  fi
  if [ "${LOG_FILE}" != "" ] ; then
    echo "${CUR_TIME_STR} $1" >> ${LOG_FILE}
  fi
}

function loop_proc
{
  for CUR_BIN in ${BIN_PROC_FILES}
  do
    PID_SNIPER=`pidof ${CUR_BIN}`
    if [ "${PID_SNIPER}" != "" ]; then
      MEM_STATS=`ps --pid ${PID_SNIPER} -o rss,vsz`
      LINE_CNT=`echo "${MEM_STATS}" | wc -l`
      if [ ${LINE_CNT} -gt 1 ]; then
        MEM_STAT=`echo "${MEM_STATS}" |tail -n 1`
      fi
      write_log "${CUR_BIN} ${PID_SNIPER} ${MEM_STAT}"
    fi
  done
}

if [ ${RM_LOG_FILE} -gt 0 ]; then
  if [ "${LOG_FILE}" != "" ] ; then
    rm ${LOG_FILE}
  fi
fi

while true
do
  loop_proc
  sleep 1
done

Comments

Popular posts from this blog

Redmine production.log to uri log

But.. It doesn't work well. (Because the sequence of line is not arranged.) It is better way to use ' redmine_access_logger' plugin than this #!/bin/bash # Setting LOG_FILE=/redmine-3.3.3/log/production.log #LOG_FILE=mylog.log PIDFILE=/var/run/redmine_info_log.pid # Program Variables OUTPUT_LOGDIR=`dirname ${LOG_FILE}` OPT_DEBUG=0 URI_FILTER_REGEX="(^\"/people/avatar)|(^/attachments/thumbnail/)|(^\"/issues/.*\.xml)" function echo_log() { if [ "$2" != "" ]; then echo "$1" >> $2 else echo "$1" fi } if [ -f $PIDFILE ] then PID=$(cat $PIDFILE) ps -p $PID > /dev/null 2>&1 if [ $? -eq 0 ] then echo "Process already running" exit 1 else ## Process not found assume not running echo $$ > $PIDFILE if [ $? -ne 0 ] then echo "Could not create PID file" exit 1 fi fi else echo $$ > $PIDFILE if [ $? -ne 0 ]

[docker/redmine] run redmine with sqlite3 in docker

Basic Rule:  I want to use "/home2/home/redmine" directory for redmine DB.  I want to use sqlite3 for redmine. 1. in host side  # adduser redmine 2. in host side. (go into dockers container for copying base files to host)  # docker run -it -v /home2/home/redmine/:/usr/src/redmine/HOST --name redmine -p 80:3000 redmine bash 2-1. in redmine container of docker : work dir is /usr/src/redmine  # cp -a config HOST/  # cp -a db HOST/  # exit 2-2. in host side : remove all docker contatiners  # docker rm $(docker ps -a -q) 2-3. in host side : chown directories.  # cd /home2/home/redmine  # chown redmine.redmine . -R 3. edit "/home2/home/redmine/config/database.yml" production:   adapter: sqlite3   database: sqlite/redmine.db   host: localhost 4. Run Redmine with daemonized.  # docker run -d -v /etc/passwd:/etc/passwd:ro -v /home2/home/redmine/DB:/usr/src/redmine/sqlite -v /home2/home/redmine/config:/usr/src/redmine/config -v /home2/home/redmin

[WordPress] Change https redirect in DB.

If you make an https redirect without thinking about SSL configuration: Check DB SELECT * from wp_options where option_name IN ('siteurl', 'home'); Update UPDATE wp_options SET option_value = REPLACE(option_value, 'https://your_domain', 'http://your_domain') WHERE option_name IN ('siteurl', 'home');