bash에서 MySQL 작업을 수행하는 #Expect Patronum


따옴표: dailynewsagency.com

개요


  • 하고 싶은 일
  • 아래 내용을 자동화하고 싶습니다.
  • 여러 DB에 대한 SQL 쿼리 발행
  • 실행 결과의 표준 출력




  • 접근


  • bash에서 MySQL 명령을 실행하여 종료 상태 코드 얻기
  • 종료 상태 코드가 0을 제외하고 거기에서 종료
  • 종료 상태 코드가 0이면 처리 계속


  • 결과


  • 익스펙트 패트로남! !
  • #!/bin/bash
    
    command=(
    "mysql -u 'user' '-ppassword' -h 'rds-host01.com' 'database01' < 'sample.sql'"
    "mysql -u 'user' '-ppassword' -h 'rds-host02.com' 'database02' < 'sample.sql'"
    "mysql -u 'user' '-ppassword' -h 'rds-host01.com' 'database03' < 'sample.sql'"
    "mysql -u 'user' '-ppassword' -h 'rds-host02.com' 'database04' < 'sample.sql'"
    "mysql -u 'user' '-ppassword' -h 'rds-host01.com' 'database05' < 'sample.sql'"
    )
    
    for i in "${command[@]}"
    do
      eval ${i}
      rc=$?
      if [ $rc -ne 0 ]; then
        echo "error =======> ######## $i ###########"
        exit 1
      fi
    done
    
    echo ""
    echo "##########  success  ##########"
    echo ""
    

    좋은 웹페이지 즐겨찾기