ShellScript로 원격DB 백업 및 로컬DB 복원 하기

Linux
#!/bin/bash LOCALDB={로컬DB명} REMOTEDB={원격DB명} LOCALDBFILE=/home/databaseBackup/sqlFile/$LOCALDB.sql echo "Backup:: $REMOTEDB > $LOCALDB" /usr/bin/mysqldump -h{원격DB서버주소} -P {원격DB서버포트} -u {원격DB사용자} -p"{원격DB사용자비밀번호}" --add-drop-table $REMOTEDB > $LOCALDBFILE LOCALDBFILESIZE=$(wc -c "$LOCALDBFILE" | awk '{print $1}') echo "FileSize: $LOCALDBFILESIZE" #파일이 일정 용량 있상일경우에만 복원을 시도 if [ $LOCALDBFILESIZE -gt 3000 ];then # 원격서버의 Root권한이 %인것을 로컬에서는 localhost로 문자 치환 echo "Strng replace:: $LOCALDBFILE >> $LOCALDBFILE.bk" /usr/bin/cat $LOCALDBFILE | sed 's/DEFINER=`root`@`%`/DEFINER=`root`@`localhost`/g' > $LOCALDBFILE.bk # 문자치환된 파일을 덮어써서 1개로 만듬 echo "File Move:: $LOCALDBFILE.bk >> $LOCALDBFILE" /usr/bin/mv -f $LOCALDBFILE.bk $LOCALDBFILE # 문자치환된 파일 삭제처리 echo "Tmpfile Remove $LOCALDBFILE.bk" /usr/bin/rm -rf $LOCALDBFILE.bk # 로컬 DB에 파일 복구 echo "Restore:: $LOCALDB < $LOCALDBFILE" /usr/bin/mysql -u{로컬DB사용자} -p"{로컬DB사용자비밀번호}" $LOCALDB < $LOCALDBFILE fi
Read More

쉘스크립트 비교연산자 활용

프로그램
쉘스크립트 비교연산자 활용 정수 비교 -eq     같음     if [ "$a" -eq "$b" ] -ne     같지 않음     if [ "$a" -ne "$b" ] -gt     더 큼     if ["$a" -gt "$b" ] -ge     더 크거나 같음     if [ "$a" -ge "$b" ] -lt     더 작음     if [ "$a" -lt "$b" ] -le     더 작거나 같음     if [ "$a" -le "$b" ] <     더 작음(이중 소괄호에서)     (("$a" < "$b")) <=     더 작거나 같음(이중 소괄호에서)     (("$a" <= "$b")) >     더 큼(이중 소괄호에서)     (("$a" > "$b")) >=     더 크거나 같음(이중 소괄호에서)     (("$a" >= "$b")) 문자열 비교 =     같음     if [ "$a" = "$b" ] ==     같음     if [ "$a" == "$b"…
Read More