قم بعمل نسخة احتياطية من دليل في Linux باستخدام برنامج Shell Script

هناك عدة خيارات لنسخ بياناتك احتياطيًا في Linux . يمكنك استخدام بعض البرامج المتاحة مجانًا ، مثل fwbackups و Sbackup . ومع ذلك ، هناك طريقة بسيطة لعمل نسخة احتياطية من دليل دون تثبيت أي برامج إضافية.

سننشئ برنامج نصي شل باستخدام المتغيرات ، والأمر tar والأمر date لإنشاء ملف نسخ احتياطي مؤرخ للدليل ، مع الدلائل الفرعية الخاصة به.

البرنامج النصي للقذيفة هو في الأساس ملف يحتوي على قائمة بالأوامر التي يتم تشغيلها بالتسلسل. إذا كانت لديك سلسلة من الأوامر تقوم بتشغيلها بانتظام بالترتيب ، فمن المفيد إنشاء نص برمجي يحتوي على هذه الأوامر. بعد ذلك ، ما عليك سوى تشغيل ملف البرنامج النصي لتشغيل الأوامر.

إنشاء ملف البرنامج النصي شل

في هذا المثال ، سنقوم بإنشاء برنامج نصي شل لعمل نسخة احتياطية من دليل يحتوي على ملفات من أجل دليل المستخدم. نحن نستخدم بيئة جنوم(Gnome) في أوبونتو(Ubuntu) .

أولاً ، قم بالوصول إلى الدليل الرئيسي الخاص بك ، عن طريق تحديد مجلد الصفحة الرئيسية(Home Folder) من قائمة الأماكن(Places) . يفتح متصفح الملفات(File Browser) على الدليل الرئيسي الخاص بك.

فتح المجلد الرئيسي

سننشئ ملفًا فارغًا جديدًا ندخل فيه أوامر إجراء النسخ الاحتياطي. انقر بزر الماوس الأيمن(Right-click) في الجزء الأيمن وحدد Create Document | Empty File من القائمة المنبثقة.

إنشاء ملف نصي شل فارغ

تمت إضافة ملف إلى القائمة ويكون جاهزًا لإعادة تسميته. اكتب(Type) اسمًا للملف ، مع إعطاء الملف امتدادًا لـ .sh .

ملف جديد جاهز لإعادة تسميته

في هذا المثال ، قمنا بتسمية ملفنا user_guide_backups.sh(user_guide_backups.sh) .

تمت إعادة تسمية ملف البرنامج النصي لـ Shell

الآن نحن بحاجة إلى إضافة الأوامر إلى الملف. انقر بزر الماوس الأيمن على اسم الملف وحدد فتح باستخدام 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

تحرير ملف البرنامج النصي شل في gedit

وصف سطر بسطر

يصف الجدول التالي ماهية كل سطر في ملف البرنامج النصي shell.

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.

تحرير الأذونات(Permissions) في ملف البرنامج النصي شل(Shell Script File)

قبل تشغيل البرنامج النصي ، تحتاج إلى التأكد من أن الملف لديه الأذونات الصحيحة. للقيام بذلك ، افتح Home Folder مرة أخرى كما هو مذكور أعلاه وانقر بزر الماوس الأيمن على ملف البرنامج النصي shell. حدد خصائص(Properties) من القائمة المنبثقة.

الحصول على خصائص ملف البرنامج النصي shell

يظهر مربع الحوار " خصائص ". (Properties)تأكد(Make) من تحديد خانة الاختيار التنفيذ .(Execute)

أذونات ملف البرنامج النصي شل

انقر فوق إغلاق(Close) .

تشغيل البرنامج النصي شل

لتشغيل البرنامج النصي shell ، افتح نافذة طرفية عن طريق تحديد البرامج Accessories | Terminal من قائمة التطبيقات(Applications) .

فتح نافذة طرفية

عندما تفتح نافذة Terminal ، يجب أن تكون في المجلد الرئيسي(Home Folder) بشكل افتراضي. تؤكد كتابة pwd في سطر الأوامر والضغط على Enter هذه الحقيقة. في موجه الأوامر ، اكتب ./user_guide_backups.sh واضغط على Enter .

تشغيل البرنامج النصي شل

يجب أن يكون لديك ملف .tgz في مجلد النسخ الاحتياطية(Backups) في المجلد(Home Folder) الرئيسي . إذا نقرت بزر الماوس الأيمن على اسم الملف ، فسترى عدة خيارات لفتح الأرشيف في أحد برامج الأرشفة المتاحة ، أو استخراج الملفات مباشرة إلى مجلد النسخ الاحتياطية باستخدام الأمر (Backups)Extract Here .

خيارات القائمة المنبثقة لملف .tgz

معلومات اكثر

توفر الروابط أدناه مزيدًا من المعلومات حول برامج shell النصية وأوامر tar والتاريخ وأوامر (date)Linux الأخرى .

البرمجة

دليل سريع لكتابة البرامج النصية باستخدام غلاف bash(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

دليل مرجعي باش(Bash Reference Manual)

أوامر لينكس

صفحة tar MAN(tar MAN Page)

تاريخ صفحة MAN(date MAN Page)

أوامر bash - صفحات Linux MAN(bash commands – Linux MAN Pages)

سيساعدك استكشاف هذه الصفحات على إنشاء سكربتات bash shell مفيدة خاصة بك.



About the author

أهلاً! أنا مبرمج كمبيوتر بخبرة تزيد عن 10 سنوات في هذا المجال. أنا متخصص في تطوير وصيانة البرامج للهواتف الذكية وتحديثات Windows. بالإضافة إلى ذلك ، أقدم خدماتي كممثل شهري لدعم عملاء البريد الإلكتروني.



Related posts