क्या mysqldump एक स्थिति लौटाता है?


14

मैं एक स्क्रिप्ट बना रहा हूं जो mysqldump उपयोगिता का उपयोग करके mysql db का बैकअप लेती है। मैं इस स्क्रिप्ट को "श" में लिख रहा हूं। मैं स्क्रिप्ट में mysqldump की आउटपुट स्थिति को कैप्चर करना चाहूंगा (अर्थात यदि mysqldump कमांड विफल या सफल रहा) तो मैं रिपोर्ट कर सकता हूं कि स्क्रिप्ट सफल थी या नहीं।

  • क्या mysqldump एक आउटपुट स्थिति लौटाता है?

  • क्या कोई मुझे यह करने के लिए निर्देश दे सकता है?


आप बस जाँच सकते हैं कि फ़ाइल बनाई गई थी और अंतिम पंक्ति में कुछ ऐसा है -- Dump completed on ...- यदि कोई समस्या थी तो यह मामला नहीं होगा।
इवान हेमिंग

मैं शेल स्क्रिप्ट के माध्यम से डंप बना रहा हूं, इसलिए मैं विचार करना चाहता हूं कि डंप ठीक से बनाया गया है या कुछ स्थिति के माध्यम से नहीं है।
क्रुणाल शाह

जवाबों:


14

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

मैं अपने ईमेल पर विफलता त्रुटि संदेश की सफलता वापस नहीं कर पा रहा हूँ? कृपया मदद करें सर ...
sqlchild

2020 में उत्सुक मुद्दा, या तो MySQL 5 या 8 कुछ बाहर निकलने का कोड बनाता है। bugs.mysql.com/bug.php?id=90538
joseluisq

1

डंप समाप्त होने के बाद चेक $? शेल चर। अगर यह 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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.