بکاپ گیری از داده ها همواره یکی از مهمترین دغدغه های مدیران سرور می باشد. اگر شما از کنترل پنل های سی پنل یا دایرکت ادمین استفاده میکنید میتوانید به صورت مرتب از داده های سرور خود پشتیبان بگیرید. اما این تنها راه نیست. گاهی ممکن است شما نیاز به گرفتن بکاپ از طریق خود سرور داشته باشید. ما در این مقاله اسکریپتی را به زبان bash تهیه کرده ایم که با اجرای آن شما میتوانید از اطلاعات کاربران خود با خیالی آسوده بکاپ تهیه کنید و آن را در مقصد مورد نظر خود کپی نمائید.
اسکریپت بکاپ گیری از اطلاعات کاربران در لینوکس
در ادامه به معرفی اسکریپ نوشته شده تحت عنوان ubackup.sh میپردازیم.
آموزش اسکریپت ubackup.sh
همانطور که گفته شد ابتدا اسکریپت مورد نظر را به صورت زیر اجرا میکنیم:
1 |
lsc@arshatech:~$ bash ubackup.sh |
1 2 |
[~] By: arshatech.com [-] Error: Run this script as root user! |
همانطور که مشاهده میکنید داشتن دسترسی root برای اجرای اسکریپت الزامیست. پس برنامه را با دسترسی root اجرا میکنیم:
1 |
root@arshatech:~# bash backup-users.sh |
1 2 3 |
[~] By: arshatech.com [*] Usage: bash ubackup.sh <backup-path> Example: bash ubackup.sh /backup |
همانطور که مشاهده میکنید برنامه برای اینکه به طور صحیح اجرا شود نیاز به یک آرگومان ورودی دارد. این آرگومان میتواند هر مسیری روی سرور شما باشد. بعد از اینکه مسیر مورد نظر را به اسکریپت میدهید اسکریپت بررسی میکند که آیا این مسیر روی سرور شما وجود دارد یا خیر. اگر وجود نداشت آن را ایجاد میکند. سپس تشخیص میدهد که آیا این یک فضای مونت شده بر روی سرور شماست یا خیر. اگر مسیر مورد نظر مونت نشده بود پس بکاپ بر روی سرور شما ایجاد میشود. اگر مسیر مورد نظر مونت شده بود بدان معناست که فضایی خارج از فضای سرور شما وجود دارد و بکاپ را روی آن فضا یا همان هارد اکسترنال ایجاد میکند.
فرض کنید روی سرور تعدادی کاربر وجود دارند و شما میخواهید از آن ها بکاپ تهیه نمائید.
نمونه ذخیره شدن بکاپ بر روی فضای سرور یا ماشین شما:
نمونه ذخیره شدن بکاپ بر روی پارتیشن مونت شده یا هارد اکسترنال:
بعد از اتمام عملیات پشتیبان گیری از داده های کاربران شما، لاگ های مربوطه نیز در مسیر var/log/users/ قابل مشاهده خواهد بود. بعنوان مثال:
1 |
[root@arshatech ~]# cat /var/log/users/2018-08-03.log |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Running Date: 2018-08-07-AT-05:54 ##################################################### [+] /backup/2018-08-07/alex-2018-08-07-AT-05_54_42.tar.gz [+] /backup/2018-08-07/bob-2018-08-07-AT-05_54_42.tar.gz [+] /backup/2018-08-07/gerard-2018-08-07-AT-05_54_42.tar.gz [+] /backup/2018-08-07/john-2018-08-07-AT-05_54_42.tar.gz Running Date: 2018-08-07-AT-05:55 ##################################################### [+] /backup/2018-08-07/alex-2018-08-07-AT-05_55_22.tar.gz [+] /backup/2018-08-07/bob-2018-08-07-AT-05_55_22.tar.gz [+] /backup/2018-08-07/gerard-2018-08-07-AT-05_55_22.tar.gz [+] /backup/2018-08-07/john-2018-08-07-AT-05_55_22.tar.gz Running Date: 2018-08-07-AT-05:56 ##################################################### [+] /backup/2018-08-07/alex-2018-08-07-AT-05_56_36.tar.gz [+] /backup/2018-08-07/bob-2018-08-07-AT-05_56_36.tar.gz [+] /backup/2018-08-07/gerard-2018-08-07-AT-05_56_36.tar.gz [+] /backup/2018-08-07/john-2018-08-07-AT-05_56_36.tar.gz Running Date: 2018-08-07-AT-05:56 ##################################################### [+] /backup/2018-08-07/alex-2018-08-07-AT-05_56_55.tar.gz [+] /backup/2018-08-07/bob-2018-08-07-AT-05_56_55.tar.gz [+] /backup/2018-08-07/gerard-2018-08-07-AT-05_56_55.tar.gz [+] /backup/2018-08-07/john-2018-08-07-AT-05_56_55.tar.gz |
اسکریپت بکاپ گیری از اطلاعات کاربران در لینوکس