2012-01-31 14 views
6

के लिए सर्वोत्तम प्रथाओं को मुझे अपने वर्तमान सिस्टम पर MySQL डेटाबेस बैकअप लेने की आवश्यकता है। मैं शेल स्क्रिप्ट का उपयोग कर क्रॉन जॉब में mysqldump कमांड का उपयोग कर रहा हूं।MySQL बैकअप

यहाँ मोटे तौर पर है कि मुझे क्या करना:

मैं डेटा को संपीड़ित करने की जरूरत है तो मैं अगर मैं ऐसा करना चाहिए पता करने के लिए करना चाहते हैं:

#!/bin/bash 

fileName=$(date +%H-%M) 
mysqldump -ubackup -hserver1.local.com -A database1 > /backup/$filename.sql 

इसे पूरा होने में तो मेरे सवाल यह है लगभग 1 घण्टा लगेगा पहले फ़ाइल को शुद्ध एसक्यूएल के रूप में बैक अप लें, फिर इसे संपीड़ित करें या मुझे इसे mysqldump कमांड से तुरंत संपीड़ित करना चाहिए?

उत्तर

8

मध्यवर्ती डिस्क स्थान उपयोग को कम करने के लिए, आप सेक कर सकते हैं ऑन-द-मक्खी:

mysqldump (options) | bzip2 -c > /backup/$filename.sql.bz2 

इसका मतलब है आप एक फाइल करने के लिए पूरे असम्पीडित SQL डेटा को लिखने के लिए नहीं होगा, और फिर वापस पढ़ें इसे संपीड़ित करने के लिए। इंटरमीडिएट डिस्क स्पेस उपयोग को कम करने के लिए

+1

+1 –

+0

-क्या मतलब है? –

+0

@WestonCarlson: [मानक आउटपुट के लिए संपीड़ित] (http://linux.die.net/man/1/bzip2) –

संबंधित मुद्दे