از یک دایرکتوری در لینوکس با استفاده از Shell Script پشتیبان تهیه کنید

چندین گزینه برای پشتیبان گیری از اطلاعات شما در لینوکس(Linux) وجود دارد. می‌توانید از برخی نرم‌افزارهای آزادانه در دسترس مانند fwbackups و Sbackup استفاده کنید. با این حال، یک روش ساده برای پشتیبان گیری از یک دایرکتوری بدون نصب نرم افزار اضافی وجود دارد.

ما یک اسکریپت پوسته با استفاده از متغیرها، دستور tar و دستور date ایجاد می کنیم تا یک فایل پشتیبان با تاریخ از یک دایرکتوری با زیر شاخه های آن ایجاد کنیم.

یک اسکریپت پوسته اساساً یک فایل حاوی لیستی از دستورات است که به ترتیب اجرا می شوند. اگر یک سری دستوراتی دارید که مرتباً به ترتیب اجرا می کنید، ایجاد یک پوسته اسکریپت حاوی این دستورات مفید است. سپس، برای اجرای دستورات فقط باید فایل اسکریپت را اجرا کنید.

ایجاد فایل Shell Script

برای این مثال، ما قصد داریم یک پوسته اسکریپت برای پشتیبان‌گیری از یک فهرست حاوی فایل‌ها برای راهنمای کاربر ایجاد کنیم. ما از محیط Gnome در اوبونتو(Ubuntu) استفاده می کنیم.

ابتدا با انتخاب پوشه Home(Home Folder) از منوی Places ، به فهرست اصلی خود دسترسی پیدا کنید. (Places)مرورگر فایل(File Browser) به فهرست اصلی شما باز می شود.

باز کردن پوشه خانه

ما قصد داریم یک فایل خالی جدید ایجاد کنیم که در آن دستورات انجام بک آپ را وارد می کنیم. در قسمت سمت راست کلیک(Right-click) کرده و Create Document | Empty File را از منوی پاپ آپ خالی کنید.

ایجاد یک فایل اسکریپت پوسته خالی

یک فایل به لیست اضافه شده و آماده تغییر نام است. یک نام برای فایل تایپ(Type) کنید و به فایل پسوند .sh بدهید(.sh) .

فایل جدید آماده تغییر نام است

برای این مثال، نام فایل خود را user_guide_backups.sh گذاشتیم(user_guide_backups.sh) .

فایل اسکریپت Shell تغییر نام داد

حالا باید دستورات را به فایل اضافه کنیم. روی نام فایل کلیک راست کرده و از منوی باز شده 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

ویرایش فایل اسکریپت پوسته در gedit

شرح خط به خط

جدول زیر توضیح می دهد که هر خط در فایل اسکریپت پوسته چیست.

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(Home Folder) خود را دوباره همانطور که در بالا ذکر شد باز کنید و روی فایل اسکریپت پوسته کلیک راست کنید. از منوی پاپ آپ گزینه Properties را انتخاب کنید.(Properties)

دریافت ویژگی های فایل اسکریپت پوسته

کادر محاوره ای Properties نمایش داده می شود. (Properties)مطمئن(Make) شوید که چک باکس Execute انتخاب شده باشد.(Execute)

مجوزهای فایل اسکریپت پوسته

روی Close کلیک کنید .

اجرای Shell Script

برای اجرای اسکریپت پوسته، با انتخاب Accessories | Terminal از منوی برنامه ها.(Applications)

باز کردن پنجره ترمینال

هنگامی که پنجره ترمینال(Terminal) باز می شود، به طور پیش فرض باید در پوشه Home(Home Folder) خود باشید . تایپ pwd در خط فرمان و فشردن enter این واقعیت را تایید می کند. در اعلان، ./user_guide_backups.sh را تایپ کنید و Enter را فشار دهید .

اجرای اسکریپت پوسته

شما باید یک فایل tgz . در پوشه (.tgz)Backups در پوشه (Backups)Home(Home Folder) خود داشته باشید . اگر روی نام فایل راست کلیک کنید، چندین گزینه برای باز کردن بایگانی در یکی از برنامه های بایگانی موجود یا استخراج فایل ها به طور مستقیم در پوشه Backups با استفاده از دستور (Backups)Extract Here مشاهده می کنید .

گزینه های منوی پاپ آپ برای فایل tgz

اطلاعات بیشتر

پیوندهای زیر اطلاعات بیشتری در مورد اسکریپت های پوسته، دستورات tar و date و سایر دستورات لینوکس(Linux) ارائه می دهند.

اسکریپت

راهنمای سریع برای نوشتن اسکریپت با استفاده از پوسته bash(A quick guide to writing scripts using the bash shell)

Bash Shell Scripting – 10 Seconds Guide | All about Linux

راهنمای مرجع Bash(Bash Reference Manual)

دستورات لینوکس

صفحه مرد تار(tar MAN Page)

تاریخ صفحه MAN(date MAN Page)

دستورات bash – صفحات MAN لینوکس(bash commands – Linux MAN Pages)

کاوش در این صفحات به شما کمک می کند تا اسکریپت های پوسته bash مفید خود را بسازید.



About the author

من یک متخصص ویندوز هستم و بیش از 10 سال است که در صنعت نرم افزار کار می کنم. من با هر دو سیستم ویندوز مایکروسافت و اپل مکینتاش تجربه دارم. مهارت‌های من عبارتند از: مدیریت پنجره، سخت‌افزار و صدا کامپیوتر، توسعه اپلیکیشن و غیره. من یک مشاور با تجربه هستم که می توانم به شما کمک کنم تا از سیستم ویندوز خود حداکثر استفاده را ببرید.



Related posts