ارسال بکاپ میکروتیک به تلگرام - وان سرور آکـادمی

ارسال بکاپ میکروتیک به تلگرام

زمان تقریبی مطالعه: 4 دقیقه

در این پست با استفاده از کانتینر میکروتیک فایل بکاپ رو از طریق ربات تلگرام برای خودمون ارسال میکنیم ، تو این آموزش فقط ابزار گفته نمیشه و کل کار رو با bash script جلو میبریم

 
 

 

 

تغییرات کانتینر

قبل از هر کاری اول از همه شما باید قابلیت کانتینر رو در میکروتیک فعال و کانتینر pihole رو نصب کرده باشید برای انجام این مراحل به پست ( نصب x-ui در میکروتیک ) مراجعه کنید و تا مرحله فعال سازی pihole رو انجام بدی

بعد از اتمام مراحل حالا باید یکسری تغییرات بدیم ، وارد بخش container و تب mounts بشید و مسیرهای قبلی با نام x-ui رو پاک کنید ( البته اگر از کانتینر برای x-ui نمیخواید استفاده کنید و فقط برای بکاپ هستش )

یک مسیر جدید به شکلی که داخل عکس نمایش داده شده درست کنید

 

تو این قسمت گفتیم که دایکتوری ریشه یا اصلی میکروتیک رو به یک فولدر به اسم mikrotik در کانتینر مونت کن
یعنی وقتی شما داخل کانتینر فولدر mikrotik رو باز میکنید همون فایل هایی رو میبینید که در ابزار Files مشاهده میکنید ، قسمت بعدی باید این مسیر رو به کانتینر بدیم ، وارد تب container بشید و روی کانتینری که ساختیم کلیک کنید و به صورتی که داخل عکس نمایش داده شده تغییر بدین

رو OK رو بزنید تا تنظمیات جدید ذخیره بشه ، بعد یکبار کانتینر رو STOP و بعدی START کنید

در مرحله بعدی وارد ترمینال میکروتیک بشید و این دستور رو وارد کنید تا وارد کانتینر بشیم

 

( درصورتی که کانتینر دیگه ای هم دارید باید جای 0 ای دی کانتینر که تازه ساختیم رو پیدا و وارد کنید ، برای این کار هم داخل ترمینال دستور container/print رو وارد کنید )
 
				
					container/shell 0
				
			

حالا وقتی دستور

				
					ls -l /mikrotik/
				
			

تمام فایل های خود میکروتیک رو میتونید داخل کانتینر مشاهده کنید

نصب پیش نیاز ها

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

				
					apt update && apt upgrade -y
				
			

بعد از آپدیت باید باید ایدتور vim رو نصب کنیم ، شاید شما با nano راحت تر باشید ولی تو تست هایی که بنده انجام دادم برای این کار ما nano درست کار نمیکنه

برای نصب vim این دستور رو وارد کنید

				
					apt install nano -y
				
			

اتوماتیک کردن گرفتن بکاپ

برای اینکه بک آپ همیشه به روز باشه باید در زمان های مشخصی بکاپ گیری انجام بشه برای این کار باید در میکروتیک یک scheduler درست کنیم برای گفتن بکاپ

برای اینکار یک ترمینال دیگه باز کنید و دستور زیر رو وارد کنید ، این دستور هر 1 ساعت از میکروتیک شما بکاپ میگیره ، اگر خواستید میتونید بازه زمانی و کم یا زیاد کنید

				
					
/system scheduler add interval=1h name=backup on-event="system/backup/save name=\"backup\"" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon

				
			

bash script

از این مرحله به بعد دیگه باید winboxرو ببندیم و باز ssh به میکروتیک وصل بشیم ، دلیلش یکسری محدودیت هایی هست که ترمینال وینباکس داره که برخی مواقع مشکلاتی پیش میاد مثل کار نکردن برخی کلید ها یا بهم ریختن متن ، پس اگر روی میکروتیک سرویس SSH رو بستید ، فعالش کنید
برای SSH زدن هم میتونید از ابزار مختلفی استفاده کنید ولی راحت ترینش cmd خود ویندوزه یا اگر از لینوکس استفاده میکنید میتونید از ترمینال خود لینوکس استفاده کنید

در هر دو سیستم عامل میتونید از این دستور برای  ssh زدن استفاده کنید

 

( جای 1.1.1.1  باید ip میکروتیک رو قرار بدین )

				
					ssh admin@1.1.1.1
				
			

بعد از اینکه متصل شدین  دستور  container/shell 0 رو وارد کنید تا وارد کانتینر بشید سپس دستور زیر رو وارد کنید ( چک کنید که در دایرکتوری root باشید )

				
					nano backup.sh
				
			

بعد از اینکه ویرایشگر nano باز شد کد زیر و کپی کنید و داخل ویرایشگر قرار بدین

				
					BOT_TOKEN="76050:AAE8b_aYGF7"
CHAT_ID="4573839497"
FILE_PATH="/mikrotik/backup.backup"




if [[ ! -f "$FILE_PATH" ]]; then
    echo "Error: File not found at $FILE_PATH"
    exit 1
fi
curl -F "chat_id=$CHAT_ID" \
     -F "document=@$FILE_PATH" \
     "https://api.telegram.org/bot$BOT_TOKEN/sendDocument"
echo "File sent successfully!"
				
			

در کد بالا باید دو تا چیز رو تغییر بدین ،جلوی BOT_TOKEN باید توکن ربات تلگرام خودتونو قرار بدین ( به این نکته هم توجه داشته باشید که ربات باید از سمت شما استارت شده باشه ، یعنی یه پیام داخل ربات ارسال کرده باشید ) 
در CHAT_ID هم ایدی عددی اکانت تلگرام خودتو که از این ربات میتونید دریافت کنید https://t.me/ChatIdShowBot

بعد از انجام تغییرات کلید های ctrl + x و  بعدش کلید y رو بزیند تا فایل ذخیره بشه
حالا اگر دستور زیر رو وارد کنید باید یک فایل براتون داخل تلگرام ارسال بشه

 ( البته قبل از وارد کردن دستور چک کنید که میکروتیک یک بکاپ گرفته باشه چون بکاپ گیری اتوماتیک ما هر 1 ساعت بود ، اگر درست نشده یک بار دستور system/backup/save name=backup در ترمینال میکروتیک وارد کنید )

				
					bash backup.sh
				
			

cron job

اگر تا اینجا تمام مراحل رو درست انجام دادین حالا نوبت اینکه ارسال بکاپ رو اتوماتیک و زمان بندی کنیم ، برای اینکار از cron job استفاده میکنیم که کار سختی هم نیست

 

فقط کافیه این دستور رو در کانتینر وارد کنید و تمام

				
					(crontab -l; echo "0 */12 * * * /root/bash backup.sh") | crontab -

				
			
حالا هر 12 ساعت بکاپ میکروتیک شما در تلگرام ارسال میشه 
امیدوارم که آموزش مفیدی برای شما بوده باشه ، هر جایی سئوال یا مشکلی داشتید در کامنت ها بپرسید بنده در خدمتتون هستم
Rate this post