2010-10-26 23 views
5

का उपयोग करके हर 30 मिनट में डेटाबेस (mysql) को पुनर्स्थापित करने की आवश्यकता है, मैं क्रॉन नौकरियों के लिए नया हूं और मुझे प्रत्येक 30 मिनट में डेटाबेस (mysql) को पुनर्स्थापित करने की आवश्यकता है। क्या कोई क्रॉन जॉब कमांड है जो एक .sql फ़ाइल से डेटाबेस को पुनर्स्थापित कर सकता है जिसे gzipped किया गया है?मुझे क्रॉन जॉब

या क्या मुझे ऐसा करने के लिए एक PHP स्क्रिप्ट बनाने और हर तीस मिनट में इस स्क्रिप्ट को कॉल करने के लिए क्रॉन नौकरी बनाने की आवश्यकता है?

इसके अलावा, और यह एक अलग सवाल है लेकिन अभी भी क्रॉन नौकरियों से संबंधित है, मैं दिन में एक बार एक अलग डेटाबेस बैकअप करने के लिए एक क्रॉन नौकरी का उपयोग कर रहा हूं, इसे गीज़िप करें और इसे रूट के ऊपर एक फ़ोल्डर में डाल दें। क्या एक महीने से भी पुराने किसी भी चीज को स्वचालित रूप से हटाने का कोई तरीका है? या, कम से कम, हाल के 20 बैकअप रखें और बाकी को हटा दें?

इस विषय पर यादृच्छिक मंच पोस्ट के अलावा वहां बहुत अच्छा ट्यूटोरियल नहीं है। किसी भी मदद की सराहना की है।

उत्तर

7

एक डंप फ़ाइल आयात करने के बारे में, बस क्रॉन जॉब में एक

mysql -u user -ppassword databasename < /path/to/dump.sql 

डाल दिया।

अधिक विवरण: How do I restore a MySQL .dump file?

+0

बहुत सराहना की। – Johnny

+0

मैं इस पेक्का में इतिहास को समझता हूं, लेकिन यह 'cat /path/to/file.sq/ पर इस विधि को करने में अधिक कुशल होगा। mysql -u root -ppassword'? –

+1

@ डेरिल मैं इस बारे में बहुत कम जानता हूं कि फ़ाइल डेटा के माध्यम से यूनिक्स/लिनक्स पाइप कैसे कहता है कि कौन सा तरीका अधिक कुशल है! यह अच्छी तरह से हो सकता है कि आपका सुझाव बेहतर है। –

1

आप यह करने के लिए एक पार्टी स्क्रिप्ट लिख सकते हैं।

mysql -uPutYourUserHere -pPutYourPasswordHere PutYourUserHere_databaseName < database.sql 

कुछ भी स्वचालित रूप से हटाने के लिए कुछ भी नहीं है। लेकिन आप अपने क्रॉन जॉब में कर सकते हैं:

find /path/to/files -mtime +30 -exec rm {}\; 
+0

मेरा मतलब पुराने बैकअप को हटाने के लिए एक क्रॉन नौकरी था। मुझे लगता है कि "स्वचालित रूप से" भ्रामक था। आपके सुझाव का प्रयास करेंगे। बैश स्क्रिप्ट के साथ वास्तव में परिचित नहीं है मुझे डर है। – Johnny

+0

ढूंढ एक वास्तव में शक्तिशाली उपकरण है। कभी-कभी अगर आप "पुराने महीने को हटाने" पाते हैं तो आपको सही उत्तर मिल जाएगा। –

+0

मुझे एक त्रुटि भेजी जा रही है जो कहती है: '-exec' – Johnny

1

MySQL Gzipped डेटा सीधे संभाल सकते हैं, लेकिन यह पाइप कि mysql के लिए gzcat के माध्यम से पाइप के लिए तुच्छ है और फिर:

gzcat name_of_file.sql.gz | mysql -u.... 
संबंधित मुद्दे