با استفاده از ایمیل و Mutt به راحتی پشتیبان گیری از درایو خانگی Raspberry Pi خود را خودکار کنید.
Raspberry Pi شگفتانگیز محاسبات کمهزینه و فشرده است. کاربران آن اغلب پروژه های حیاتی را اجرا می کنند یا داده های ارزشمندی را در دستگاه های خود ذخیره می کنند. با این حال، مانند هر سیستم کامپیوتری دیگری، Raspberry Pis از خرابی های سخت افزاری، از دست رفتن داده ها و سایر مسائل مصون نیست.
بنابراین، تهیه نسخه پشتیبان به طور منظم برای محافظت از فایل ها و داده های شما ضروری است. اما اگر بتوانید این فرآیند را خودکار کنید و علاوه بر این، نسخههای پشتیبان را مستقیماً به ایمیل خود ارسال کنید، چه؟ این مقاله شما را از ایجاد یک نسخه پشتیبان تا نصب و پیکربندی نرم افزار لازم، زمان بندی کار و در نهایت ارسال ایمیل همراه با نسخه پشتیبان راهنمایی می کند.
تنها چیزی که نیاز دارید یک کلاینت ایمیل خط فرمان و البته یک برد Raspberry Pi است.
یک بک آپ Raspberry Pi ایجاد کنید
اولین قدم در این فرآیند ایجاد یک نسخه پشتیبان از فایل هایی است که می خواهید محافظت کنید. در Raspberry Pi، این کار به راحتی با دستور tar قابل انجام است. به عنوان مثال، برای پشتیبان گیری از پوشه /home/pi/my_data، باید از دستور زیر استفاده کنید:
tar -zcvf /path/to/my_data_backup.tar.gz /home/pi/my_data
در پوشه my_data، ممکن است اسناد، تصاویر، فایل های متنی و غیره را بیابید. مطمئن شوید که مسیر صحیح فایل را هم برای پوشه my_data و هم برای آرشیو پشتیبان تنظیم کنید.
نرم افزار لازم را نصب کنید
هنگامی که پشتیبان خود را ایجاد کردید، به راهی برای ارسال آن از طریق ایمیل نیاز دارید. برای این کار، از Mutt، یک سرویس گیرنده ایمیل خط فرمان استفاده کنید. برای نصب Mutt در Raspberry Pi خود، وارد کنید:
sudo apt install mutt
اگر به اطلاعات بیشتر در مورد این ابزار علاقه دارید، نحوه استفاده از Mutt با Gmail در لینوکس را ببینید.
نرم افزار Mutt را پیکربندی کنید
پس از نصب Mutt، باید آن را برای ارسال ایمیل پیکربندی کنید. فایل ~/.muttrc را با ویرایشگر متن نانو ایجاد و ویرایش کنید:
sudo nano ~/.muttrc
محتوای زیر را به آن اضافه کنید:
set from = "username@gmail.com"
set realname = "First Last"
# IMAP settings
set imap_user = "username@gmail.com"
set imap_pass = "<mailbox password>"
# SMTP settings
set smtp_url = "smtps://username@smtp.gmail.com"
set smtp_pass = "<mailbox password>"
# Remote Gmail folders
set folder = "imaps://imap.gmail.com/"
set spoolfile = "+INBOX"
Ctrl + X و سپس Y و Enter را فشار دهید تا تغییرات ذخیره شوند.
حالا بیایید بررسی کنیم که Mutt قادر به ارسال و دریافت ایمیل با این حساب است.
echo "Body Message" | mutt -s "Testing Email from mutt" username@gmail.com
اگر دستور کار کرده است، باید بررسی کنید که پیام آزمایشی که ارسال کرده اید رسیده است.
اگر دستور با خطا مواجه شد، “SASL Authentication Failed”، باید رمز عبور برنامه را در Gmail ایجاد کنید.
ایجاد رمز عبور برنامه در جیمیل
Gmail از پیش پیکربندی شده است تا از اتصال برنامههایی مانند mutt که مرحله دوم احراز هویت را ارائه نمیکنند، امتناع کند. در حالی که این یک اقدام امنیتی مهم است که برای محدود کردن دسترسی کاربران غیرمجاز به حساب شما طراحی شده است، اما مانع از ارسال نامه از طریق برخی از مشتریان SMTP می شود، همانطور که در اینجا انجام می دهید.
این مراحل را برای پیکربندی Gmail برای ایجاد یک رمز عبور خاص mutt دنبال کنید:
- به حساب Google خود وارد شوید و به صفحه مدیریت دسترسی و تنظیمات امنیتی حساب خود بروید.
- به قسمت How you sign in to Google به پایین بروید و فعال کردن تأیید صحت 2 مرحله ای را انتخاب کنید. ممکن است قبل از ادامه، رمز عبور و کد تأیید از شما خواسته شود.
- در همان بخش، روی App passwords کلیک کنید تا یک رمز عبور منحصر به فرد ایجاد کنید که می تواند با mutt استفاده شود.
- روی منوی انتخاب برنامه کلیک کنید و سایر (نام سفارشی) را انتخاب کنید. برای مثال “mutt” را وارد کنید و روی Generate کلیک کنید.
- رمز عبور جدید ایجاد شده ظاهر می شود. رمز عبور را کپی کرده و بدون فاصله آن را جایگذاری کنید تا رمزهای عبور خود را در فایل پیکربندی muttrc Mutt.
- دستور زیر را دوباره اجرا کنید و بررسی کنید که پیام به صندوق پست شما رسیده است.
echo "Body Message" | mutt -s "Testing Email from mutt" username@gmail.com
کار پشتیبان گیری را برنامه ریزی کنید و از طریق ایمیل ارسال کنید
می توانید از Mutt برای ارسال نسخه پشتیبان از طریق ایمیل استفاده کنید. در اینجا دستوری است که شما نیاز دارید:
echo "Here is your daily backup" | mutt -a "/path/to/my_data_backup.tar.gz" -s "Daily Backup" -- "your-email@example.com"
اطمینان حاصل کنید که آدرس ایمیل خود را در جایی که مشخص شده است وارد کرده اید.
در این مرحله، ما قبلاً می دانیم که چگونه یک کار را زمان بندی کنیم و چگونه ایمیل خود را با فایل پشتیبان خود ارسال کنیم، اما هنوز کاملاً خودکار نیست، هنوز باید این فرآیندها را خودکار کنیم.
یک اسکریپت پشتیبان بنویسید
ابتدا یک اسکریپت Bash برای ایجاد فایل پشتیبان می نویسیم و سپس آن را ایمیل می کنیم. فایل backup.sh را با ویرایشگر متن نانو ایجاد و ویرایش کنید:
nano backup.sh
خطوط زیر را به فایل اضافه کنید:
!/bin/bash
tar -zcvf /path/to/my_data_backup.tar.gz /home/pi/my_data
echo "Here is your daily backup" | mutt -a "/path/to/my_data_backup.tar.gz" -s "Daily Backup" -- "your-email@example.com"
Ctrl + X و سپس Y و Enter را فشار دهید تا تغییرات ذخیره شوند. برای بررسی درست کارکرد آن، وارد کنید:
bash backup.sh
باید پوشه پشتیبان را در یک فایل .gz فشرده کند و سپس آن را به آدرس شما ایمیل کند.
خودکار کردن فرآیند با Cron
برای اطمینان از اینکه فایلهایتان به طور منظم پشتیبانگیری میشوند، میتوانید کار پشتیبانگیری را برنامهریزی کنید تا به طور خودکار در یک زمانبندی مشخص اجرا شود. این کار را می توان با cron، برنامه زمان بندی وظایف داخلی در لینوکس انجام داد. برای باز کردن ویرایشگر cron، از دستور crontab -e استفاده کنید. خط زیر را اضافه کنید تا کار پشتیبان گیری هر روز در ساعت 2 بامداد اجرا شود:
0 2 * * * bash backup.sh
شما می توانید در Crontab Guru نحوه کار با این نوع بیان را بیاموزید.
به خاطر داشته باشید که هر چیزی حدی دارد. معمولاً حداکثر حجم پیوست هایی که می توانید از طریق جیمیل ارسال کنید 25 مگابایت است.
از فرآیند خودکارسازی پشتیبان گیری خود لذت ببرید
اطمینان از یکپارچگی و ایمنی داده های شما بسیار مهم است، به خصوص زمانی که روی پروژه های مهم کار می کنید یا اطلاعات مهم را در Raspberry Pi خود ذخیره می کنید. اگرچه تهیه نسخه پشتیبان به طور منظم و دستی یک عادت خوب است، اما خودکار کردن این فرآیند و ارسال آن پشتیبانها به ایمیل شما نه تنها در زمان صرفهجویی میکند، بلکه یک لایه امنیتی اضافی برای شما فراهم میکند.
اگرچه ممکن است در ابتدا فرآیندی پیچیده به نظر برسد، اما مزایای آن بسیار بیشتر از تلاش اولیه است. شما هرگز نمی توانید زمان وقوع خرابی سیستم یا از دست دادن داده ها را پیش بینی کنید، بنابراین داشتن یک نسخه پشتیبان به طور منظم و در دسترس می تواند نجات دهنده واقعی باشد.