2016년 6월 16일 목요일

[EtC] mysql 한글 깨지는 경우



my.cnf 파일을 수정 하여 아래의 내용을 넣는다.


[client]
default-character-set = utf8


[mysql]
default-character-set = utf8


[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci


[mysqldump]
default-character-set = utf8

[EtC] tomcat startup 느려진 경우



INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [190,232] milliseconds.


tomcat startup 이 느려진 이유를 찾기 위해 catalina.log 를 보니, 위와 같은 메세지가 보이는 경우 catalina.sh 파일에 아래와 같이 추가 하도록 한다.

#!/bin/sh

JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"



참고 : tomcat 메모리 할당

#!/bin/sh

export CATALINA_OPTS="-server -Xms8192m -Xmx8192m -XX:PermSize=256M -XX:MaxPermSize=256M -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts"


2016년 6월 2일 목요일

[MySqL] mysql backup script

root@api:/usr/local/apache-tomcat-7.0.64# cat ~/mysql-backup.sh


#!/bin/bash

backupdir='/home/freecatz/MYSQL_BACKUP/'`date +%Y%m%d`
olddir='/home/freecatz/MYSQL_BACKUP/'`date -d "7 day ago" +%Y%m%d`

function FN_DB_BACKUP(){
echo $(date +%H:%M) - $1 DATABASE FULL BACKUP START.  >>  $backupdir/$1.log
mysqldump -uroot -p'qwer1234' $1 > $backupdir/$1.sql
echo $(date +%H:%M) - $1 DATABASE FULL BACKUP FINISH.  >>  $backupdir/$1.log
mysql -uroot -p'qwer1234' -e "SELECT TABLE_SCHEMA, CONCAT(FORMAT(SUM(DATA_LENGTH + INDEX_LENGTH) / (1024*1024), 2), 'MB') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '$1'" | grep -v TABLE_SCHEMA >> $backupdir/$1.log
}


function FN_MK_DIR(){
mkdir -p $backupdir

if [ -d $olddir ]; then
rm -rf $olddir
fi
}


if [ ! -d $backupdir ]; then
FN_MK_DIR
fi


FN_DB_BACKUP DBTEST1
FN_DB_BACKUP DBTEST2
FN_DB_BACKUP DBTEST3


crontab 에 주기적으로 실행 시켜 두면 된다.

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

00 23   * * *   root    /root/mysql-backup.sh
#