sql 실행결과 로그로 출력하기

sadzephy의 이미지

회사에서 사용하는 DB 데이터를 Crontab 으로 쉘스크립트를 사용하여 주기적으로 삭제하려고 합니다.
삭제가 정상적으로 됐을때와 정상적으로 되지 않았을 때 로그를 남기고 싶은데요,
DB 에러가 발생했을때는 화면이나 파일에 출력을 할 수가 있는데 (eg. 없는 칼럼이라 삭제실패 등)
정상적으로 삭제가 되었을때는 어떤 값을 보고 정상이라고 로그를 찍어야 할지 모르겠습니다.
실행결과값을 통째로 변수에 저장하여 NULL 로 판단해보려 했으나,
sql 에러가 발생했을때나 발생하지 않았을때나 모두 변수에는 NULL 이 들어가버리더군요.
아래와 같은 경우 성공or 실패를 어떻게 판단해야 하는지 고수분들의 고견을 여쭙습니다.. (__)

아래는 제가 테스트에 사용중인 쉘스크립트 입니다. (test09 일경우 실패, test10 일경우 성공)

-------------------------------------------------------------
NOW=$(date "+%Y-%m-%d-%T")
echo "$NOW"
SQL_OUTPUT=$(exec mysql --login-path=aics-clear -N -e "
use AICS;
insert into AICS.TB_MAIL (MAIL_ID) values ('test09')")

if [ -z $SQL_OUTPUT ]
then
echo "success"
fi

=> 데이터가 insert 실패할 경우 결과

2019-12-12-10:25:19
ERROR 1062 (23000) at line 3: Duplicate entry 'test09' for key 'PRIMARY'
success

=> 데이터가 insert 성공할 경우 결과

2019-12-12-10:25:43
success

익명 사용자의 이미지

sql문으로 해보진 않았지만
일반적으로 $? 로 커맨드 성공여부를 판단하기 합니다.
sql 실행후 echo $? 로 출력 해보세요
0이면 정상 그 외에값은 에러

익명 사용자의 이미지

글이 잘못 올라긴 했느데 커맨드가 아니라 변수입니다.

sadzephy의 이미지

말씀하신 방법도 이미 해보았는데, 성공,실패 동일한 값으로 출력됩니다.
$? 변수는 command 자체가 error 일 때만 유용하더라고요.. ㅠㅠ
댓글 감사합니다!!

익명 사용자의 이미지

잘 된는거 같은데요??

댓글 첨부 파일: 
첨부파일 크기
Image icon 1.png18.47 KB
sadzephy의 이미지

와... 제가 구문을 잘못 넣었던 거네요..
진심으로 정말 감사드립니다.ㅠㅠㅠㅠ 복 받으실거에요..
행복한 하루 되시고 주말 잘 보내세요^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.