본문 바로가기

쉘스크립트

(6)
[쉘스크립트] 쉘스크립트 사용전 기초 쉘스크립트 사용전 기초 로그인 셸 확인 법)$ echo $SHELL /bin/bash 일반적으로는 FreeBSD는 tcsh, 리눅스와 Mac은 bash를 로그인셸로 사용합니다. 일부 고성능 셸인 zsh를 사용하는 경우도 있습니다. 로그인셸과 셸 스트립트를 실행하는 셸은 각각 별도이므로 같지 않아도 됩니다. 하지만 tcsh처럼 C셸 계열의 로그인셸을 이용할 때는 명령행에서 쓰는 문법과 셸 스크립트 문법이 일치하지 않으니 주의해야 합니다. 셸스크립트 작성법에디터는 일반적으로 vi(vim)이나 이맥스(emacs)를 사용하지만 지에디터(gedit) 같은 GUI 에디터를 써도 됩니다. 셸 스크립트 파일명은 자유롭게 지정 가능하지만 관례적으로 확장자를 .sh로 쓰므로 특별한 이유가 없는 한 .sh를 사용합니다. 파..
[쉘스크립트] Agent 시작/중지 스크립트 was서버에 웹어플리케이션을 띄우고 문자전송용 sms전송 agent도 함께 띄어져있습니다.쉘스크립트 명령어 한칸 띄고 옵션을 입력하면 관련되는 해당 작업을 수행하는 쉘스크립트 입니다.#!/bin/shPROCESS=smsagent APP_HOME=/svc/service/transferAgent JAVA=/svc/service/jdk1.7.0_67/bin/javaexport LANG=ko_KR.euckrCLASSPATH= :$APP_HOME/conf for i in `ls $APP_HOME/lib/*.jar` do CLASSPATH=${CLASSPATH}:${i} done if [ $# -eq 1 ] then echo $1 elif [ $# -eq 2 ] then echo $1 echo $2 else ech..
[MySQL] mysqldump로 DB 백업하기 mysql 데이터베이스 백업시 mysqldump를 이용합니다. 개발자들이 사용하는 Workbench나 HeidiSQL 같은 툴에서 백업하는것 역시 mysqldump를 실행하는 것입니다. 전체 데이터베이스를 한 sql파일에 백업하는 것이 가장 간단하지만, 서버 용량 문제로 분할백업을 진행해야하는 경우가 생깁니다. 분할백업 진행 전 테이블별 용량 확인도 가능합니다. SELECT table_name, table_rows, round(data_length/(1024*1024), 2) as 'DATA_SIZE(MB)', round(index_length/(1024*1024), 2) as 'INDEX_SIZE(MB)' FROM information_schema.TABLES where table_schema = 'd..
[쉘스크립트] crontab 및 mysqldump 실행하여 주기적 DB백업 수행 데이터베이스는 주기적으로 백업하여, 유사시 전일 데이터로 복원할 수 있도록 해야한다.아래 스크립트는 mysqldump를 실행하여 DB백업 압축파일을 저장하는 쉘스크립트이다. #!/bin/bash cd /root/backup/daily/ DATE_YYYYMMDDHHMMSS=`date '+%Y%m%d%H%M%S'`dailysql=$DATE_YYYYMMDDHHMMSS'_daily.sql' password='password'echo "mysql dailysql dump start.."mysqldump -uroot -p$password --single-transaction databasename > ./$dailysql echo 'dumpfile : '$dailysqltar cvzf ./$dailysql'.tar..
[쉘스크립트] mysql 데몬 실행여부 확인 현재 서버에서 maria 서비스가 올라와있는지 여부를 확인하여 서비스가 죽어있으면 재시작 시키는 쉘스크립트. while [ 1 ]do CNT=$(ps -ef | grep /maria/mariadb/bin/mysqld | grep -v grep | wc -l) currentTime=`date` if [ $CNT -le 0 ] then echo $currentTime'Stop mysql....Start boot' >> /home/users/checkerLog.log /maria/mariadb/bin/mysqld --basedir=/maria/mariadb --datadir=/maria_data/DATA --plugin-dir=/maria/mariadb/lib/plugin --user=maria --log-e..