mysqldump가 상태를 반환합니까? 상태를 캡처하고 싶습니다

mysqldump 유틸리티를 사용하여 mysql db를 백업하는 스크립트를 작성 중입니다. 이 스크립트를 쉘 “sh”에 작성하고 있습니다. 스크립트에서 mysqldump의 출력 상태를 캡처하고 싶습니다 (예 : mysqldump 명령이 실패했거나 성공한 경우). 스크립트가 성공했는지 여부를보고 할 수 있습니다.

  • mysqldump가 출력 상태를 반환합니까?

  • 누군가이 작업을 수행하는 방법에 대한 지침을 알려주시겠습니까?



답변

mysqldump가 반환

0 for Success
1 for Warning
2 for Not Found

또한 stderr에 확장 오류 메시지를 인쇄합니다.

mysqldump: Got error: 1049: Unknown database 'dbname' when selecting the database

다음과 같이 반환 값을 검사 할 수 있습니다

mysqldump -u DBuser -pDBpassword database >database.sql 2>database.err
if [ "$?" -eq 0 ]
then
    echo "Success"
else
    echo "Mysqldump encountered a problem look in database.err for information"
fi


답변

덤프 완료 후 $ 확인? 쉘 변수. 그것이 0이라면-모든 것이 잘되었습니다. 그렇지 않으면-오류입니다.

# mysqldump -u aaa -d msf>/dev/null
mysqldump: Got error: 1045: Access denied for user 'aaa'@'localhost' (using password: YES) when trying to connect
# echo $?
2


답변