موصى به, 2024

اختيار المحرر

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

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

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

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

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

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

أولاً ، قم بالوصول إلى الدليل الرئيسي الخاص بك ، عن طريق تحديد مجلد المنزل من قائمة الأماكن . يفتح " متصفح الملفات" إلى الدليل الرئيسي الخاص بك.

سنقوم بإنشاء ملف فارغ جديد حيث سنقوم بإدخال الأوامر لإجراء النسخ الاحتياطي. انقر بزر الماوس الأيمن في الجزء الأيسر وحدد Create Document | ملف فارغ من القائمة المنبثقة.

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

في هذا المثال ، أطلقنا على اسم المستخدم user_guide_backups.sh .

الآن نحن بحاجة إلى إضافة الأوامر إلى الملف. انقر بزر الماوس الأيمن على اسم الملف وحدد فتح بـ gedit من القائمة المنبثقة.

يفتح الملف في gedit . أدخل السطور التالية في الملف وانقر فوق حفظ . الغرض من كل سطر مدرج أدناه.

ملاحظة: يمكنك أيضًا نسخ النص التالي ولصقه في gedit . تأكد من تغيير إلى اسم المستخدم الخاص بك.

 #! / bin / bash SRCDIR = "/ home // Documents / my_work /" DESTDIR = "/ home // Backups /" FILENAME = ug - $ (date +٪ - Y٪ -m٪ -d) - $ (التاريخ +٪ - T) .tgz tar --create --gzip --file = $ DESTDIR $ FILENAME $ SRCDIR 

وصف سطر بخط

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

الخط # وصف
1 يجب أن يكون هذا السطر هو السطر الأول في البرنامج النصي shell bash ، وهو النوع الافتراضي للبرنامج النصي.
2 يقوم هذا السطر بإعداد متغير يسمى SRCDIR ويقوم بتعيين قيمة الملف إلى الدليل ليتم نسخه احتياطياً.
ملاحظة: تأكد من استبدال مع اسم المستخدم الخاص بك.
3 يقوم هذا السطر بإعداد متغير يسمى DESTDIR ويقوم بتعيين قيمة الملف إلى الدليل الذي سيتم كتابة ملف النسخة الاحتياطية إليه.
ملاحظة: تأكد من استبدال مع اسم المستخدم الخاص بك.
4 يقوم هذا السطر بإعداد متغير يسمى FILENAME ويعين القيمة باستخدام النص والمتغيرات التي تحتوي على الأمر date لإضافة التاريخ والوقت الحاليين إلى اسم الملف. على سبيل المثال ، قد يكون اسم الملف ug-20100212-13: 03: 45.tgz .
ملاحظة: عند استخدام متغير ، ابدأ دائمًا بعلامة الدولار ( $ ). إذا كنت تستخدم أمرًا كجزء من متغير ، فأرفق الأمر مع الخيارات للأمر بين قوسين.
5 هذا السطر هو الأمر tar مع الوظيفة والخيارات التالية المضافة.

-خلق تقوم هذه الوظيفة بإنشاء أرشيف جديد (أو اقتطاع واحدة قديمة إذا كان اسم الملف المحدد موجودًا بالفعل) وتكتب الملفات أو الملفات المسماة لها.
-gzip يخبر هذا الخيار tar لضغط الملفات في الأرشيف باستخدام الأداة المساعدة gzip .
-ملف يعطي هذا الخيار tar اسم الملف المراد استخدامه. في هذه الحالة ، قمنا بتجميع اسم الملف باستخدام المتغيرات DESTDIR و FILENAME و SRCDIR .

تحرير الأذونات على ملف Script Shell

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

يعرض مربع الحوار خصائص . تأكد من تحديد خانة الاختيار تنفيذ .

انقر فوق إغلاق .

تشغيل برنامج Shell Script

لتشغيل البرنامج النصي shell ، افتح نافذة طرفية باختيار Accessories | محطة من قائمة التطبيقات .

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

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

معلومات اكثر

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

البرمجة

دليل سريع لكتابة البرامج النصية باستخدام bash shell

Bash Shell Scripting - 10 Seconds Guide | كل شيء عن لينكس

دليل باش المرجعي

أوامر لينكس

القطة MAN الصفحة

تاريخ صفحة MAN

أوامر باش - لينكس MAN الصفحات

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

Top