मुझे पता है कि यह एक बड़ा पुराना है, लेकिन मैंने उपरोक्त उत्तरों का उपयोग किया है, और एक फ़ाइल संपीड़न निर्देश जोड़ा है। उम्मीद है कि किसी और को यह उपयोगी लगता है।
1) थोड़ा शोध करने पर 7-ज़िप वहां से सबसे अच्छा कंप्रेसर लगता है। यदि आपका linux distro इसका समर्थन करता है, तो आप apt संस्थापक का उपयोग कर सकते हैं:
sudo apt-get install p7zip-full
वैकल्पिक रूप से, आप tar.gz का उपयोग कर सकते हैं यदि आप इसके साथ अधिक सहज महसूस करते हैं।
2) फिर, आप एक स्क्रिप्ट बनाते हैं, उदाहरण /home/users/backup.sh
के लिए सामग्री के साथ:
#!/bin/sh
find /home/users/backup_MyDB -type f -mtime +7 -exec rm {} +
mysqldump -uroot -p MyDatabase >/home/users/backup_MyDB/$(date +%F)_full_myDB.sql
7z a /home/users/backup_MyDB/$(date +%F)_full_myDB.7z /home/users/backup_MyDB/*.sql
rm -f /home/users/backup_MyDB/*.sql
यह स्क्रिप्ट 7 दिनों से अधिक की फ़ाइलों को ढूंढेगी और उन्हें हटा देगी, फिर यह sql डंप करेगी, फिर यह निर्देशिका में सभी .sql फ़ाइलों को 7-ज़िप करेगी, फिर यह निर्देशिका में सभी .sql को हटा देगी। BTW, आप वैकल्पिक रूप से डंप से पहले एक mysql कमांड जोड़ सकते हैं, जैसा कि पिछले उत्तर पर नोट किया गया है यदि आपको इसकी आवश्यकता है)
3) हम ऐसा करते हैं chmod +x /home/users/backup.sh
तो यह निष्पादन योग्य हो सकता है।
३.१) आपको अपनी स्क्रिप्ट का परीक्षण करना चाहिए, यदि यह इच्छानुसार काम करता है
4) हम कार्य के साथ कार्यक्रम करते हैं crontab -e
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
30 4 * * 1-6 /home/users/backup.sh >> /dev/null 2>&1
और बस। यह आपके MySQL डेटाबेस को सप्ताह में प्रत्येक दिन 4:30 बजे (रविवार को छोड़कर) बैकअप देगा, और बैकअप को संपीड़ित करेगा