शेल स्क्रिप्ट का उपयोग करके लिनक्स में एक निर्देशिका का बैकअप लें

Linux में आपके डेटा का बैकअप लेने के लिए कई विकल्प हैं । आप कुछ स्वतंत्र रूप से उपलब्ध सॉफ़्टवेयर प्रोग्रामों का उपयोग कर सकते हैं, जैसे fwbackups और Sbackup । हालांकि, किसी भी अतिरिक्त सॉफ़्टवेयर को स्थापित किए बिना निर्देशिका का बैकअप लेने का एक सरल तरीका है।

हम किसी निर्देशिका की उपनिर्देशिका के साथ दिनांकित बैकअप फ़ाइल बनाने के लिए चर, टार(tar) कमांड और दिनांक(date) कमांड का उपयोग करके एक शेल स्क्रिप्ट बनाएंगे।

शेल स्क्रिप्ट अनिवार्य रूप से एक फ़ाइल है जिसमें अनुक्रम में चलने वाले आदेशों की एक सूची होती है। यदि आपके पास आदेशों की एक श्रृंखला है जिसे आप नियमित रूप से क्रम में चलाते हैं, तो इन आदेशों वाली एक शेल स्क्रिप्ट बनाना सहायक होता है। फिर, आपको केवल कमांड चलाने के लिए स्क्रिप्ट फ़ाइल चलानी होगी।

शेल स्क्रिप्ट फ़ाइल बनाना

इस उदाहरण के लिए, हम उपयोगकर्ता गाइड के लिए फ़ाइलों वाली निर्देशिका का बैकअप लेने के लिए एक शेल स्क्रिप्ट बनाने जा रहे हैं। हम उबंटू में (Ubuntu)सूक्ति(Gnome) पर्यावरण का उपयोग कर रहे हैं ।

सबसे पहले, स्थान(Places) मेनू से होम फ़ोल्डर(Home Folder) का चयन करके अपनी होम निर्देशिका तक पहुंचें । फ़ाइल ब्राउज़र(File Browser) आपके होम डायरेक्टरी में खुलता है।

होम फोल्डर खोलना

हम एक नई खाली फाइल बनाने जा रहे हैं जिसमें हम बैकअप करने के लिए कमांड दर्ज करेंगे। दाएँ फलक में राइट-क्लिक करें और (Right-click)Create Document | Empty File पॉप-अप मेनू से खाली फ़ाइल ।

एक खाली शेल स्क्रिप्ट फ़ाइल बनाना

एक फ़ाइल सूची में जोड़ दी गई है और नाम बदलने के लिए तैयार है। फ़ाइल के लिए एक नाम टाइप(Type) करें, फ़ाइल को .sh का एक्सटेंशन दें ।

नाम बदलने के लिए तैयार नई फ़ाइल

इस उदाहरण के लिए, हमने अपनी फ़ाइल का नाम user_guide_backups.sh रखा है ।

शेल स्क्रिप्ट फ़ाइल का नाम बदला गया

अब हमें फाइल में कमांड जोड़ने की जरूरत है। फ़ाइल के नाम पर राइट-क्लिक करें और पॉप-अप मेनू से Open with gedit चुनें।(Open with gedit)

जीएडिट के साथ खोल स्क्रिप्ट फ़ाइल खोलना

फ़ाइल gedit(gedit) में खुलती है । फ़ाइल में निम्न पंक्तियाँ दर्ज करें और सहेजें(Save) पर क्लिक करें । प्रत्येक पंक्ति का उद्देश्य नीचे सूचीबद्ध है।

नोट:(NOTE:) आप निम्न पाठ को कॉपी भी कर सकते हैं और इसे gedit में पेस्ट कर सकते हैं । <username> को अपने उपयोगकर्ता नाम में बदलना सुनिश्चित करें ।

#!/bin/bash
 SRCDIR="/home/<username>/Documents/my_work/"
 DESTDIR="/home/<username>/Backups/"
 FILENAME=ug-$(date +%-Y%-m%-d)-$(date +%-T).tgz
 tar – create – gzip – file=$DESTDIR$FILENAME $SRCDIR

जीएडिट में शेल स्क्रिप्ट फ़ाइल का संपादन

पंक्ति-दर-पंक्ति विवरण

निम्न तालिका बताती है कि शेल स्क्रिप्ट फ़ाइल में प्रत्येक पंक्ति क्या है।

Line # Description
1 This line must be the first line in a bash shell script, which is the default type of script.
2 This line sets up a variable called SRCDIR and sets the value of it to the directory to be backed up.
NOTE: Be sure to replace <username> with your username.
3 This line sets up a variable called DESTDIR and sets the value of it to the directory into which the backup file will be written.
NOTE: Be sure to replace <username> with your username.
4 This line sets up a variable called FILENAME and sets the value using text and variables containing the date command to add the current date and time to the filename. For example, the filename might be ug-20100212-13:03:45.tgz.
NOTE: When using a variable, always start it with the dollar sign ($). If you use a command as part of a variable, enclose the command and the options for the command in parentheses.
5 This line is the tar command with the following function and options added.

–create This function creates a new archive (or truncates an old one if the filename specified already exists) and writes the named files or directory to it.
–gzip This option tells tar to compress the files in the archive using the gzip utility.
–file This option gives tar the filename to use. In this case, we assembled the filename using the DESTDIR, FILENAME, and SRCDIR variables.

शेल स्क्रिप्ट फ़ाइल(Shell Script File) पर अनुमतियाँ(Permissions) संपादित करना

अपनी स्क्रिप्ट चलाने से पहले, आपको यह सुनिश्चित करना होगा कि फ़ाइल में सही अनुमतियाँ हैं। ऐसा करने के लिए, ऊपर बताए अनुसार अपना होम फोल्डर फिर से खोलें और शेल स्क्रिप्ट फ़ाइल पर राइट-क्लिक करें। (Home Folder)पॉप-अप मेनू से गुण(Properties) चुनें ।

शेल स्क्रिप्ट फ़ाइल के गुण प्राप्त करना

गुण(Properties) संवाद बॉक्स प्रदर्शित करता है । सुनिश्चित करें कि (Make)निष्पादित(Execute) करें चेक बॉक्स चयनित है।

शेल स्क्रिप्ट फ़ाइल अनुमतियाँ

बंद करें क्लिक करें(Close) .

शैल स्क्रिप्ट चलाना

Accessories | Terminal का चयन करके टर्मिनल विंडो खोलें | एप्लिकेशन(Applications) मेनू से टर्मिनल ।

एक टर्मिनल विंडो खोलना

जब टर्मिनल(Terminal) विंडो खुलती है, तो आपको डिफ़ॉल्ट रूप से अपने होम फोल्डर में होना चाहिए। (Home Folder)कमांड लाइन पर pwd(pwd) टाइप करना और एंटर दबाना इस बात की पुष्टि करता है। प्रॉम्प्ट पर ./user_guide_backups.sh टाइप करें और एंटर दबाएं(Enter)

शेल स्क्रिप्ट चलाना

आपके होम फोल्डर के (Home Folder)बैकअप(Backups) फोल्डर में एक .tgz फाइल होनी चाहिए । यदि आप फ़ाइल नाम पर राइट-क्लिक करते हैं, तो आप उपलब्ध संग्रह कार्यक्रमों में से एक में संग्रह खोलने के लिए कई विकल्प देखते हैं, या फ़ाइलों को सीधे बैकअप(Backups) फ़ोल्डर में निकालने के लिए एक्स्ट्रेक्ट हियर(Extract Here ) कमांड का उपयोग करते हैं।

.tgz फ़ाइल के लिए पॉप-अप मेनू विकल्प

अधिक जानकारी

नीचे दिए गए लिंक शेल स्क्रिप्ट, टार(tar) और डेट(date) कमांड और अन्य लिनक्स(Linux) कमांड के बारे में अधिक जानकारी प्रदान करते हैं।

स्क्रिप्टिंग

बैश शेल का उपयोग करके स्क्रिप्ट लिखने के लिए एक त्वरित मार्गदर्शिका(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

बैश संदर्भ मैनुअल(Bash Reference Manual)

लिनक्स कमांड

टार मैन पेज(tar MAN Page)

दिनांक MAN पृष्ठ(date MAN Page)

बैश कमांड - लिनक्स मैन पेज(bash commands – Linux MAN Pages)

इन पृष्ठों की खोज करने से आपको अपनी उपयोगी बैश शेल स्क्रिप्ट बनाने में मदद मिलेगी।



About the author

मैं विंडोज फोन और ऑफिस स्पेस उद्योगों में 10 से अधिक वर्षों के अनुभव के साथ एक अनुभवी सॉफ्टवेयर इंजीनियर हूं। मेरे कौशल में पारंपरिक पाठ और छवि प्रारूप दोनों के साथ काम करना, साथ ही नवीनतम मोबाइल उपकरणों के लिए विकास करना शामिल है। मेरे पास गुणवत्तापूर्ण सेवाएं प्रदान करने का एक सिद्ध ट्रैक रिकॉर्ड है, और मैं हमेशा दूसरों को उनके लक्ष्यों को प्राप्त करने में मदद करने के लिए तैयार हूं।



Related posts