সুচিপত্র:

অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস: ৫ টি ধাপ
অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস: ৫ টি ধাপ

ভিডিও: অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস: ৫ টি ধাপ

ভিডিও: অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস: ৫ টি ধাপ
ভিডিও: প্রতিরাতে একটি করে Calbo 500 এবং E Cap 400 খান, মহা পুরুষ হয়ে যান. 2024, নভেম্বর
Anonim
অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস
অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস
অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস
অরেঞ্জবক্স: অরেঞ্জপিআই ভিত্তিক নিরাপদ ব্যাকআপ স্টোরেজ ডিভাইস

অরেঞ্জবক্স হল যেকোনো সার্ভারের জন্য একটি অল-ইন-ওয়ান রিমোট স্টোরেজ ব্যাকআপ বক্স।

আপনার সার্ভার সংক্রামিত হতে পারে, দূষিত হতে পারে, নিশ্চিহ্ন হয়ে যেতে পারে এবং আপনার সমস্ত ডেটা এখনও অরেঞ্জবক্সে সুরক্ষিত থাকে এবং কে ব্যাকআপ ডিভাইসের মতো অসম্ভব মিশন পছন্দ করবে না যা আপনি কেবল প্লাগ ইন করেন এবং আরও কিছু না করে একটি অগ্রগতি সূচক দেখতে পান (কেবল জাদু আশা করি শেষে ধোঁয়া বের হবে না:))।

অরেঞ্জবক্স আমার প্রথম প্রকল্প যা বেশিরভাগ সফটওয়্যার, হার্ডওয়্যার হ্যাক নয়। এটি মূলত একটি কাস্টম বিল্ট এনএস যা একটি এলসিডি সংযুক্ত আছে।

ধাপ 1: হার্ডওয়্যার যন্ত্রাংশ

হার্ডওয়্যার যন্ত্রাংশ
হার্ডওয়্যার যন্ত্রাংশ
হার্ডওয়্যার যন্ত্রাংশ
হার্ডওয়্যার যন্ত্রাংশ
হার্ডওয়্যার যন্ত্রাংশ
হার্ডওয়্যার যন্ত্রাংশ

অরেঞ্জ পিআই শূন্য একটি ওপেন সোর্স সিঙ্গেল বোর্ড কম্পিউটার। এটি অ্যান্ড্রয়েড 4.4, উবুন্টু, ডেবিয়ান চালাতে পারে। এটি AllWinner H2 SoC ব্যবহার করে, এবং এতে 256MB/512MB DDR3 SDRAM আছে (256MB সংস্করণ হল স্ট্যান্ডার্ড সংস্করণ আপনার চারপাশের পৃথিবীর নিয়ন্ত্রণ নিতে শুরু করতে পারেন (https://www.orangepi.org/orangepizero/)।

  • ধাতু/প্লাস্টিক/কাঠের বাক্স (আমি একটি পুরানো ইয়ামাহা বহিরাগত cd-rw বক্স ব্যবহার করেছি)
  • কমলা পিআই শূন্য বা ভাল (GPIO পিনআউট পরিবর্তিত হতে পারে যদি আপনি অন্য মডেল ব্যবহার করেন)
  • 2x20 RGB LCD স্ক্রিন
  • যেকোন SFF 3.5/ LFF 2.55 ইউএসবি ড্রাইভ
  • Sata -> ইউএসবি অ্যাডাপ্টার। মনে রাখবেন যে যখন অরেঞ্জপিআই সর্বাধিক ড্রাইভ ধারণক্ষমতার উপর limitর্ধ্বসীমা আরোপ করে না তবে অনেকগুলি ইউএসবি-টু-সাটা ব্রিজ (2TB সর্বোচ্চ) করে। আমি যে কমলা পিআই জিরো ব্যবহার করি তাতে কেবলমাত্র একটি একক ইউএসবি 2.0 পোর্ট থাকে যার কার্যকর স্থানান্তর হার 28 এমবি/সেকেন্ডের সর্বোচ্চ। আমি একটি USB3.0 (ভবিষ্যতের আপগ্রেডের জন্য প্রস্তুত) -> SATA ব্রিজ (ব্র্যান্ড উল্লেখ করা হবে না) বেছে নিয়েছি এবং এটি সীমা নির্ধারণ করে তাই JMicron JMS567 চিপ ভিত্তিক সেতুর মতো বড় ড্রাইভকে সমর্থন করে এমন একটি সেতু বেছে নেওয়া ভাল। । একটি কেনার আগে আপনার নিজের গবেষণা করুন। আমি এই প্রকল্পে একটি 2TB সাটা ড্রাইভ ব্যবহার করে গতি এবং হার্ড ড্রাইভের সীমা নিয়ে বাঁচতে পারি (যদি আপনি বড় ড্রাইভে রাখেন তবে এটি স্বীকৃত হবে কিন্তু OS শুধুমাত্র এর প্রথম 2TB দেখতে পাবে তাই বাকি ক্ষমতা হবে নিখোঁজ).
  • 12V 2.5 A বা উচ্চতর amp অ্যাডাপ্টার। OPI জিরোর জন্য প্রায় 500mA স্বাভাবিক ব্যবহার এবং একটি আদর্শ LFF SATA ড্রাইভের জন্য 1.5A পিক গণনা করুন। ওভারসাইজিং কখনই কষ্ট দেয় না। আমার সেটআপে ইয়ামাহা পিএসইউ (যা 12+5V রেল উভয়ই যথেষ্ট পরিমাণে বর্তমানের চেয়ে বেশি সরবরাহ করতে পারত) দুর্ভাগ্যবশত উড়িয়ে দেওয়া হয়েছিল: (প্রধান সেকেন্ডটি GND এ এক সেকেন্ডের জন্য সাজানোর কারণে আমাকে নিয়মিত অ্যাডাপ্টারে আঠালো করতে হয়েছিল, কমপক্ষে এটি বাক্সটিকে কয়েক গ্রাম হালকা করে দিয়েছে।
  • বাক কনভার্টার ডিসি-ডিসি 12V-> 5V। আমি আয়রনফোর্জের মতো একই নিয়মিত মিনি বক ব্যবহার করেছি, পুরোপুরি কাজ করে।

চ্ছিক

আপনি যদি 10 ডলার খরচ করতে ইচ্ছুক হন তাহলে আপনি অরেঞ্জ পাই প্লাস (https://www.armbian.com/orange-pi-one-plus/) পেতে পারেন যা অনুরূপ ফর্ম ফ্যাক্টর এবং আপনাকে Gbe এবং SATA3 দেয়। এই জন্য Libra PI তারের লাইব্রেরি ব্যবহার করা যেতে পারে: https://github.com/OrangePiLibra/WiringPi কিন্তু যেহেতু GPIO পিনআউট আলাদা তাই এই লেখার সুযোগের বাইরে।

আপনি নতুন অরেঞ্জ পিআই প্লাস 2 এর সাথে এই বিল্ডটি করতে পারেন যার SATA সংযোগকারী রয়েছে এবং আপনি তাদের সীমাবদ্ধতার সাথে sata-> ইউএসবি কনভার্টারের ব্যবহার এড়িয়ে যেতে পারেন। আপনি যদি ফ্রিবিএসডি বা অন্যান্য বিএসডি ব্যবহার করার পরিকল্পনা করেন তবে অরেঞ্জ পিআই সিরিজ সেরা পছন্দ নাও হতে পারে কারণ তাদের হার্ডওয়্যার সমর্থন সীমিত (উদাহরণস্বরূপ আপনাকে বুট করার জন্য ইউএসবি স্টিক ব্যবহার করতে হবে)। বিএসডিগুলির জন্য রাস্পবেরি পিআই ব্যবহার করার সেরা পরামর্শ। এলসিডির জন্য সি কোড এবং সমস্ত শেল স্ক্রিপ্ট উভয়ই অন্য যে কোনও ইউনিক্স সিস্টেমে বহনযোগ্য।

ধাপ 2: হার্ডওয়্যার ডিজাইন

হার্ডওয়্যার ডিজাইন
হার্ডওয়্যার ডিজাইন
হার্ডওয়্যার ডিজাইন
হার্ডওয়্যার ডিজাইন
হার্ডওয়্যার ডিজাইন
হার্ডওয়্যার ডিজাইন

ইয়ামাহা বাক্স এই সব সঞ্চয় করার জন্য যথেষ্ট ছিল, এটি একটি কমলা পিআই পিসি বা নিয়মিত রাস্পি ফর্ম-ফ্যাক্টর বোর্ডের জন্য পর্যাপ্ত জায়গা থাকবে না।

বাক্সের পিছনে একটি এক্সটেন্ডার দিয়ে ইথারনেট বের করা হয়েছিল। মনে রাখবেন অরেঞ্জ পিআই জিরোতে কেবল 100 এমবিট/সেকেন্ডের ইথারনেট ইন্টারফেস আছে যদি আপনি দ্রুত চান তবে আপনাকে অন্য বোর্ড যেমন আসুস টিঙ্কারবোর্ড/আরপিআই 3 বি+/অন্যান্য অরেঞ্জ পিআই মডেল ব্যবহার করতে হবে।

ভুল পিন আউট হল এই প্রকল্পে আপনি এবং একমাত্র ভুল করতে পারেন তাই থাম্ব নীতির কিছু নিয়ম প্রয়োগ করা মূল্যবান:

1, সর্বদা END থেকে END পর্যন্ত একই রঙের কেবল ব্যবহার করার চেষ্টা করুন। আমি নিজেও কিছু প্রকল্পে একই "ভুল" করি যেখানে আমি করি না, কেবলমাত্র কারণ আমার হাতে যথেষ্ট পুরুষ-পুরুষ/পুরুষ-মহিলা/মহিলা-মহিলা কেবল নেই এবং আমি একসাথে 2 টি প্যাচ করি সার্কিট যদি আপনি আপনার কাজ সঠিকভাবে নথিভুক্ত না করেন তবে এটি কয়েক বছর পরে মাথাব্যথার কারণ হতে পারে যেখানে আপনাকে একটি মেরামত, আপগ্রেড করতে হবে।

2, কানেক্টরগুলিতে কিছু হটগ্লু লাগান। এই arduino- স্টার্টার কিট স্টাইল mm/mf/ff ক্যাবলগুলি ব্যবহার করার ক্ষেত্রে যা লাইন মানের উপরে নয় এটি বেশ সাধারণ (বিশেষ করে যদি আপনি ডিভাইসটি ঘুরে বেড়ান/পরিবহন করেন) যে কানেক্টরগুলি স্লিপ হয়ে যায়। যদি আপনি জানেন যে এটি একটি দীর্ঘমেয়াদী ব্যবহারের ডিভাইস হবে (সম্ভবত এটি ব্যবহার না হওয়া পর্যন্ত ব্যবহার করতে হবে?!) তাহলে অরেঞ্জপিআই এবং এলসিডি উভয় দিকে সংযোগকারীগুলিকে একসাথে রাখার জন্য কিছুটা হটগ্লু প্রয়োগ করা ভাল। প্রয়োজনে এটি সহজেই গলানো/আঁচড়ানো যায়।

3, অরেঞ্জপিআই জিরো ওয়্যারিং খারাপ খবর হল যে অরেঞ্জ পিআই পিনআউট রাস্পবেরি পিআই 0/1/2/3 এর মতো নয় এবং অন্যান্য কমলা পিআই মডেলের মধ্যেও পার্থক্য রয়েছে। যাওয়ার সর্বোত্তম উপায় হল ওয়্যারিং লাইব্রেরি (কমলা পিআই জিরো সংস্করণ)। ছবিটি কিছুটা বিভ্রান্তিকর হতে পারে তবে এগুলি আমার কাছে সেরা ছিল। একটি হল অন্যটির 180 ডিগ্রি আয়না। যদিও সিএলআই নন গ্রাফিক্যাল ইমেজ বোঝা আরও কঠিন হতে পারে তবে এটি সবচেয়ে সোজা ফরোয়ার্ড।

আপনি সর্বদা সকেটের 2 টি প্রান্তকে আলাদা করতে পারেন একটি প্রান্তকে (+3.3/+5V) এবং অন্যটি নেগেটিভ এন্ড (এক GND) -এর সাথে ইতিবাচক শেষ হিসাবে বিবেচনা করে -> এটি ইথারনেট পোর্টের মুখোমুখি সংযোগকারীর শেষ ।

ওয়্যারিং পিআই জিরো টেবিল থেকে আপনার কেবল একটি কলামের প্রয়োজন হবে wPI অন্যদের ভুলে যাবে যেমন তারা সেখানে থাকবে না।

উদাহরণস্বরূপ LCD_E 15 (যেটি wPI 15!) এবং LCD_RS 16 (যেটি wPI 16!) সংযোগ করার জন্য সংযোগকারীটির ইতিবাচক প্রান্ত (একটি কলম বা ছোট স্ক্রু ড্রাইভার দিয়ে করা সহজ) থেকে পিনগুলি গণনা করুন। এটি শারীরিকভাবে 4 পিন এবং 5 পিনের নিচে চলে যাবে।

4, গ্রুপ আপ। যদি একে অপরের পাশে ব্যবহৃত পিনগুলি স্থাপন করার সম্ভাবনা থাকে (সেগুলিকে গোষ্ঠীভুক্ত করা) সর্বদা এটিকে বেছে নেয়, এটি হটগ্লু ছাড়াই একে অপরকে ধরে রাখতে এবং অন্য প্রকল্পগুলিতেও যখন আপনার 2x 4x 6x মোলেক্স সংযোগকারী থাকে তখন আপনি করতে পারেন পিনগুলি একে অপরের পাশে থাকার সুবিধা নিন। এখানে আপনি যা করতে পারেন তা হল 2-3 সেকেন্ডের গ্রুপ (পুরানো পিসি থেকে উদ্ধার করা জাম্পার কেবল ব্যবহার করার সময় আদর্শ)।

অরেঞ্জপিআই এলসিডি স্ক্রিন সংযোগের জন্য ব্যবহৃত পিন:

// WIRINGPI পিন নম্বর ব্যবহার করুন

#ডিফাইন এলসিডি_ই 15 // পিন সক্ষম করুন #ডিফাইন এলসিডি_আরএস 16 // রেজিস্টার সিলেক্ট পিন #ডিফাইন LCD_D4 5 // ডেটা পিন 4 #ডিফাইন LCD_D5 6 // ডেটা পিন 5 #ডিফাইন LCD_D6 10 // ডেটা পিন 6 #ডিফাইন LCD_D7 11 // ডেটা পিন 7

RGB ব্যাকলাইট নিয়ন্ত্রণের জন্য ব্যবহৃত পিন

$ G লিখুন 1 0

$ G লিখুন 4 1 $ G লিখুন 7 1

কমলা পিআই জিরো ডাব্লুপিআই পিন 1, 4, 7। এই এলসিডি একমাত্র জাদু করতে পারে যা স্ট্যান্ডার্ড ফিক্স ব্লু বা গ্রিন ব্যাকলাইট এলসিডি ফিক্স করে যেখানে আপনার একটি সিঙ্গেল ক্যাথোড আছে যা জিএনডিতে টানতে হবে যাতে এটি 3 এর জন্য 3 রং লাল, সবুজ এবং নীল। কোনটি চালু করা হয়েছে তার সমন্বয় পরিবর্তন করে আপনি এই বেস রংগুলো থেকে বিভিন্ন রং মিশ্রিত করতে পারেন কিন্তু শুধুমাত্র উচ্চ প্রান্তে কোন ছায়া নেই কারণ আপনি একটি রঙের উজ্জ্বলতা নিয়ন্ত্রণ করতে পারবেন না (এটি চালু বা বন্ধ)।

সংযোজক রঙ মিশ্রণ: সবুজের সাথে লাল যোগ করলে হলুদ পাওয়া যায়; নীল থেকে লাল যোগ করলে ম্যাজেন্টা পাওয়া যায়; নীল সবুজ যোগ করে সায়ান উৎপন্ন করে; তিনটি প্রাথমিক রং একসাথে যোগ করলে সাদা ফল পাওয়া যায়।

ধাপ 3: অপারেটিং সিস্টেম

অপারেটিং সিস্টেম
অপারেটিং সিস্টেম

অরেঞ্জবক্স বুট হয় এবং আর্ম্বিয়ান লিনাক্স (ডেবিয়ান স্ট্রেচের উপর ভিত্তি করে) 4.14.18-সানক্সি কার্নেল একটি নিরাপদ ফায়ারওয়াল পরিবেশের সাথে, একটি ভিপিএন-এর সাথে সংযোগ স্থাপন করে এবং সার্ভার থেকে রিমোট ব্যাকআপ কমান্ডের জন্য অপেক্ষা করে।

নকশার মূলনীতি:

-পুল লুকস ভিত্তিক ডিস্ক এনক্রিপশন (ডিভাইসটিতে ব্যাকআপ ড্রাইভ খোলার জন্য চাবি নেই। এটি রিমোট সার্ভার থেকে রm্যাম /ডেভ /এসএমএ -তে সাময়িকভাবে অনুলিপি করা হবে, ড্রাইভ খোলা এবং কী মুছে ফেলা হবে। ব্যাকআপ শেষ হওয়ার পরে ড্রাইভ বন্ধ এবং অরেঞ্জবক্স স্বয়ংক্রিয়ভাবে 1 মিনিটের মধ্যে বন্ধ হয়ে যায়।)

-সমস্ত কমান্ড এবং কীগুলি রিমোট সার্ভার থেকে পাঠানো হয় (ডিভাইসটিতে কেবল একটি ভিপিএন সার্টিফিকেট থাকে) এটির রিমোট সার্ভারে কোনও অ্যাক্সেস নেই এমনকি এই ডিভাইস থেকে ssh ফায়ারওয়াল হয়ে যায়

-স্থানীয় ফাইল সিস্টেমগুলি বুট করতে সক্ষম হওয়ার জন্য আন-এনক্রিপ্ট করা আছে কিন্তু এতে কোন দরকারী কিছু নেই এবং যেহেতু ভিপিএন আপলিঙ্কটি অন্য প্রান্তে অত্যন্ত সীমাবদ্ধ, এমনকি ডিভাইসের সম্পূর্ণ ক্ষতি সহ একজন আক্রমণকারী কিছুই করতে পারে না

Https://www.armbian.com/orange-pi-zero/ থেকে আর্ম্বিয়ান স্ট্রেচ ডাউনলোড করুন

সিস্টেমটি চালু এবং চালু করুন:

apt-get update && apt-get upgrade

apt-get sysvinit-core sysvinit-utils ইনস্টল করুন

/Etc /inittab সম্পাদনা করুন, সমস্ত কনসোল নিষ্ক্রিয় করা যেতে পারে কারণ বাক্সটি হেডলেস হিসাবে ব্যবহৃত হবে। নিম্নলিখিত বিভাগটি মন্তব্য করুন:

#1: 2345: respawn:/sbin/getty 38400 tty1

#2: 23: respawn:/sbin/getty 38400 tty2 #3: 23: respawn:/sbin/getty 38400 tty3 #4: 23: respawn:/sbin/getty 38400 tty4 #5: 23: respawn:/sbin/getty 38400 tty5 #6: 23: respawn:/sbin/getty 38400 tty6

আপনার বাক্সটি রিবুট করুন এবং একটি বাস্তব ওপেন সোর্স ব্লোটওয়্যার ফ্রি সিস্টেম থাকার জন্য systemd সরান।

apt-get remove --purge --auto-remove systemd

কিছু প্যাকেজ ইনস্টল করুন

apt-get cryptsetup vim htop rsync screen gcc make git তৈরি করুন

ওয়্যারিংপি লাইব্রেরি ইনস্টল করুন

সিডি /ইউএসআর /এসআরসি

git ক্লোন https://github.com/xpertsavenue/WiringOP-Zero.git cd WiringOP-Zero chmod +x./build./build

এলসিডি ডিসপ্লের জন্য কমলা ব্যবহারকারী তৈরি করুন

groupadd -g 1000 কমলা

useradd -m -d /home /কমলা -s /bin /bash -u 1000 -g কমলা কমলা

প্রহরী যা আপনার উপর নজর রাখে না

apt-get watchdog ইনস্টল করুন

/Etc/default/watchdog এ খুঁজছেন # বুট করার সময় ওয়াচডগ শুরু করবেন? 0 বা 1 run_watchdog = 1 # ওয়াচডগ বন্ধ করার পর wd_keepalive শুরু করবেন? 0 বা 1 run_wd_keepalive = 1 # ওয়াচডগ শুরু করার আগে মডিউল লোড করুন watchdog_module = "none" # অতিরিক্ত ওয়াচডগ অপশন এখানে উল্লেখ করুন (ম্যানপেজ দেখুন)।

/Etc/watchdog.conf এর দিকে তাকিয়ে

# অন্তত এগুলিকে সক্ষম করুন

max-load-1 = 24 max-load-5 = 18 max-load-15 = 12

/etc/init.d/watchdog শুরু

কমপক্ষে 1 টি কার্নেল থ্রেড এবং 1 টি প্রক্রিয়া থাকা উচিত:

রুট 42 0.0 0.0 0 0? আমি <10:50 0:00 [watchdogd] root 14613 0.0 0.2 1432 1080? SLs 13:31 0:00/usr/sbin/watchdog

পরীক্ষামূলক:

নিশ্চিত করুন যে আপনি সবকিছু বন্ধ করেছেন এবং ডিস্কের বাকি ডেটা লিখতে একটি সিঙ্ক && সিঙ্ক && সিঙ্ক করুন। তারপর মূল সমস্যা হিসাবে:

echo 1> /dev /watchdog

কয়েক সেকেন্ড পরে মেশিনটি রিবুট করা উচিত।

ম্যানুয়াল হিসাবে বলা হয়েছে:

o প্রক্রিয়া টেবিল কি পূর্ণ?

o যথেষ্ট বিনামূল্যে মেমরি আছে? o কি যথেষ্ট বরাদ্দযোগ্য মেমরি আছে? o কিছু ফাইল কি অ্যাক্সেসযোগ্য? একটি নির্দিষ্ট সময়ের মধ্যে কিছু ফাইল পরিবর্তন করা হয়েছে? o গড় কাজের লোড কি খুব বেশি? o একটি ফাইল টেবিল ওভারফ্লো হয়েছে? o একটি প্রক্রিয়া এখনও চলছে? প্রক্রিয়াটি একটি পিড ফাইল দ্বারা নির্দিষ্ট করা হয়। o কিছু IP ঠিকানা কি পিং এর উত্তর দেয়? o নেটওয়ার্ক ইন্টারফেস কি ট্র্যাফিক পায়? o তাপমাত্রা কি খুব বেশি? (তাপমাত্রার তথ্য সবসময় পাওয়া যায় না।) o একটি নির্ধারিত পরীক্ষা করার জন্য ব্যবহারকারীর সংজ্ঞায়িত কমান্ড চালান। o /etc/watchdog.d- এ পাওয়া এক বা একাধিক পরীক্ষা/মেরামত কমান্ড চালান। এই কমান্ডগুলিকে যুক্তি পরীক্ষা বা মেরামতের সাথে ডাকা হয়। যদি এই চেকগুলির কোনটি ব্যর্থ হয় তাহলে ওয়াচডগ বন্ধ হয়ে যাবে। ব্যবহারকারীর সংজ্ঞায়িত বাইনারি ব্যতীত এই পরীক্ষাগুলির মধ্যে কি এক মিনিটেরও বেশি সময় ধরে মেশিনটি পুনরায় বুট করা হবে?

এই ওয়াচডগটি নিয়মিত x86 আর্কিটেকচারে ঠিক কাজ করতে পারে কিন্তু রাস্পবেরি পিআই, অরেঞ্জ পিআই এর মতো এআরএম ভিত্তিক বোর্ডে এটি আমাকে অসংখ্যবার ব্যর্থ করেছে। সিস্টেম হ্যাং অবস্থায় যেতে পারে যেখানে প্রহরীও ঝুলছে। আসুন এটি যেভাবেই হোক এটি কনফিগার করি তবে এটি বছরের পর বছর ধরে একটি আপট-আপগ্রেডের সাথে উন্নত হবে:(

ধাপ 4: সফটওয়্যার ডিজাইন

সফটওয়্যার ডিজাইন
সফটওয়্যার ডিজাইন

ব্যাকআপ প্রক্রিয়া নিজেই rsync ভিত্তিক (সর্বকালের সেরা ব্যাকআপ টুল) ডেটা সার্ভার-> অরেঞ্জবক্স থেকে ধাক্কা দেয়।

Rsync থেকে তথ্য বের করা প্রকল্পের একমাত্র চ্যালেঞ্জিং অংশ ছিল LCD- এ মুদ্রিত ব্যাকআপ সম্পর্কে অগ্রগতি বার।

ব্যাকআপ অগ্রগতি গণনা করার জন্য 3 টি সম্ভাব্য উপায় ছিল:

1, ট্রান্সফারটি আনুমানিক সময় নির্ধারণ করতে https://wintelguy.com/transfertimecalc.pl এর মতো সূত্র ব্যবহার করে

স্থানান্তর সময় (d: h: m: s): 0: 02: 44: 00

তুলনার জন্য: বিভিন্ন নেটওয়ার্ক লিঙ্কে 123 জিবি ফাইল স্থানান্তরের আনুমানিক সময় (d: h: m: s): T1/DS1 লাইন (1.544 Mbps) - 7: 09: 01: 46 ইথারনেট (10 Mbps) - 1:03: 20:00 ফাস্ট ইথারনেট (100 Mbps) - 0: 02: 44: 00 গিগাবিট ইথারনেট (1000 Mbps) - 0: 00: 16: 24 10 গিগাবিট ইথারনেট (10 Gbps) - 0: 00: 01: 38

যদি rsync শেষ করে তবে এটি স্ক্রিপ্টকে গণনা বন্ধ করার জন্য সংকেত দেয়। এই পদ্ধতিটি কেবল একটি আনুমানিক এবং নির্ভরযোগ্য নয়, এছাড়াও লিঙ্কের গতি ঠিক নয়, এটি ধীর হতে পারে, আবার গতি বাড়িয়ে তুলতে পারে। এটি শুধু একটি তাত্ত্বিক হিসাব।

2, ডাইরেক্টরিতে সাইজ চেক করা কতটা ডেটা আমরা ইতিমধ্যে সিঙ্ক করেছি তা নির্ধারণ করতে। শত শত জিবি ছোট ফাইলগুলির সাথে খুব ধীর হতে পারে (যদিও লিনাক্সে du -s কিছু ক্যাশিং করে যদি আপনি এটি পুনরায় চালান)

হোস্ট A -> সার্ভারের ডেটা ব্যাকআপ করা হবে ডেটা dir: 235GB

হোস্ট বি -> অরেঞ্জ বক্স ক্লায়েন্ট ডেটা আমাদের কাছে এখনই আছে ডেটা dir: 112GB

বদ্বীপটি 123 গিগাবাইট।

3, যদি ফাইল সিস্টেমটি আমাদের ক্ষেত্রে/dev/mapper/backup এর মত ডেডিকেটেড হয় তাহলে আমাদের ব্যাকআপ কিভাবে এগিয়ে যাচ্ছে তা নির্ধারণের জন্য আমরা সামগ্রিক ফাইল সিস্টেম ব্যবহার সূচকের সুবিধা নিতে পারি এবং এটি সত্যিই খুব দ্রুত। এই ক্ষেত্রে আমাদের rsync stdout কে কোথাও পাইপ করার দরকার নেই, শুধু একটি শুষ্ক rsync চালান, এটি সম্পূর্ণ না হওয়া পর্যন্ত অপেক্ষা করুন, বাইটগুলিতে ডেল্টা গণনা করুন এবং ব্যাকআপ ড্রাইভ এবং ভয়েলাতে যা আছে তা মুক্ত স্থান দিয়ে এটি ক্রস করুন এখন একটি সুন্দর বার গ্রাফ তৈরি করুন। এই পদ্ধতিটি আমি বেছে নিয়েছিলাম এবং এখানে এটির জন্য আমার স্ক্রিপ্ট:

#!/বিন/ব্যাশ

# এনএলডি দ্বারা অরেঞ্জবক্সের জন্য ব্যাকআপ অগ্রগতি ক্যালকুলেটর এই স্ক্রিপ্টটি শুধুমাত্র এলসিডি -তে ডেটা প্রদর্শনের জন্য দায়ী, এটি # প্রধান প্রোগ্রামের সাথে পরোক্ষভাবে অবস্থান এবং লক ফাইলের মাধ্যমে যোগাযোগ করে। BACKUP_DRIVE = "/dev/mapper/backup" VFILE = "$ HOME/start.pos" # ব্যাকআপের শুরুতে ডিস্ক ব্যবহার backup.lck " # নির্ধারিত স্টেট FFILE =" $ HOME/backup.fin " # নির্ধারিত সমাপ্ত অবস্থা নির্ধারণ করে নির্দেশক তথ্য SHUTDOWN = "1" # যদি 1 এটি অন্য একটি স্ক্রিপ্ট শুরু করবে যা ব্যাকআপ শেষে বাক্সটি বন্ধ করে দেবে BACKUP_CURRENT = "0" # শুরু করতে হবে কিন্তু গণনা করা হবে DRIVE_SIZE = "" # ড্রাইভ সাইজ বাইট (সেকেন্ডারি চেক) LCD = "sudo /bin /lcd" ফাংশন is_mount () {grep -q "$ 1" /proc /mounts status = $? } ফাংশন লাল () {sudo /bin /lcdcolor red} ফাংশন সবুজ () {sudo /bin /lcdcolor green} ফাংশন নীল () {sudo /bin /lcdcolor blue} # ক্লিয়ার স্টেট (bootup_display.sh দ্বারা বুটে সেট করা)। কোন ব্যাকআপ চলছে না, # স্ট্যাটাস এলসিডি জগাখিচুড়ি করবেন না। শুধুমাত্র চলমান ব্যাকআপ => কোন প্রারম্ভ ফাইল এবং কোন ফিন ফাইল = যদি [!! -ফ $ BFILE] && [! -ফ $ FFILE]; তারপর প্রস্থান করুন 1 fi # যদি ব্যাকআপ শেষ হয়ে যায় এই স্ক্রিপ্টটি প্রদর্শন করবে এবং লকগুলি সরিয়ে দেবে # পরবর্তী দীক্ষা না হওয়া পর্যন্ত আবার চালাতে পারবে না। যদি [-f $ FFILE]; তারপর সবুজ $ LCD "ব্যাকআপ" "** সমাপ্ত **" প্রতিধ্বনি "ব্যাকআপ সম্পন্ন" rm -rf $ BFILE $ TFILE $ FFILE $ LFILE1 $ LFILE2 $ VFILE # ব্যাকআপ পরিষ্কার হয়ে গেলে যদি [$ SHUTDOWN == "1"]; তারপর প্রতিধ্বনি করুন "এক্সিকিউটিং শাটডাউন স্ক্রিপ্ট …" /home/orange/shutdown.sh & fi exit 0 fi # এখান থেকে স্ক্রিপ্টটি শুধুমাত্র এক্সিকিউট করা হয় যদি একটি চলমান ব্যাকআপ থাকে # তাই সমস্ত ত্রুটি এলসিডিতে প্রিন্ট হয়ে যাবে এবং স্ক্রিপ্টটির কারণ হবে # বাতিল করা হোক তবে এটি backup.lck ফাইলটি অপসারণ করবে না তাই এখানে # বার বার প্রবেশ করবে এবং শর্তগুলি এড়িয়ে যাবে। is_mount $ BACKUP_DRIVE যদি [$ status -ne 0]; তারপর লাল $ LCD "ERR: Backup drive" "মাউন্ট করা হয় না!" প্রতিধ্বনি "ব্যাকআপ ড্রাইভ মাউন্ট করা হয় না" প্রস্থান 1 ফাই যদি [! -s $ TFILE]; তারপর লাল $ LCD "ERR: transfile" "খালি" প্রতিধ্বনি "পরিবহন আকারের গণনার ফাইল খালি।" প্রস্থান 1 fi BACKUP_OVERALL = $ (head -1 $ TFILE | tr -d '\ n') যদি [-z $ BACKUP_OVERALL]; তারপর লাল $ LCD "ERR: সাইজ রিডব্যাক" "সার্ভার থেকে অবৈধ" ইকো "ব্যাকআপ সামগ্রিক সাইজ রিডব্যাক অবৈধ 1" প্রস্থান 1 ফাই যদি!

যদিও কোডটি সহজ এখানে কিছু বর্ণনা এটি কি করে:

1, যদি BFILE বা FFILE বিদ্যমান না থাকে (যা একটি সুস্পষ্ট প্রারম্ভের পরে অবস্থা) যা নির্দেশ করে যে কোন ব্যাকআপ প্রক্রিয়া নেই তাই কিছু ছেড়ে দেবেন না। এইভাবে আপনি হোস্টনাম, আইপি, আপটাইম ইত্যাদির মতো বুটআপ সম্পর্কিত যে কোনও চমৎকার তথ্য গ্রাফ করতে পারেন এবং এটি গোলমাল হবে না।

2, আসুন is_mount $ BACKUP_DRIVE বিভাগে ঝাঁপ দাও। শুধু একটি অনুস্মারক যা আমরা এখানে পেয়েছি তা হল একটি ব্যাকআপ শুরু করা হয়েছিল যাতে BFILE বিদ্যমান। এখন কোড শুধু বিভিন্ন ত্রুটি পরীক্ষা করে যেমন ব্যাকআপ ড্রাইভ মাউন্ট করা হয়? বা অন্যান্য ত্রুটি। মনে রাখবেন এটি শুধুমাত্র একটি ডিসপ্লে প্রোগ্রাম যদিও সাইজ ব্যাকআপ ছাড়িয়ে গেলেও এটি কোন কিছু বাতিল করবে না।

3, ঠিক আছে সব ত্রুটি চেক শতাংশ গ্রাফ গণনা করার জন্য পরিষ্কার সময়। প্রথমে স্ক্রিপ্টটি এখনই ব্যাকআপ ফাইল সিস্টেমে বাইটে ব্যবহৃত স্থানটির একটি "স্ন্যাপশট" নেয় এবং এটি VFILE এ সংরক্ষণ করে। এর উদ্দেশ্য কি: একটি ব্যাশ স্ক্রিপ্ট রাষ্ট্রবিহীন, এটি মৃত্যুদন্ডের মধ্যে ডেটা হারায়, তাই যদি আপনি আগের এক্সিকিউশন থেকে কিছু ডেটা "মনে রাখতে" চান তবে আপনাকে এটি কোথাও সংরক্ষণ করতে হবে। আমাদের ক্ষেত্রে এটি একটি সাধারণ পাঠ্য ফাইল। এটাকে সহজ করার জন্য ধরা যাক আমাদের START_POS হল 1GB (আমাদের কাছে থাকা ডেটা), আমরা যা ব্যাকআপ করতে চাই তা হল +2GB এবং সামগ্রিক ড্রাইভ ক্ষমতা 10GB।

4, পরের বার যখন স্ক্রিপ্টটি VFILE চালায় তখন এটি পুনরায় পড়বে (তাই আমরা জানি যে ড্রাইভ খালি না থাকলে শুরুর অবস্থান কী ছিল) BACKUP_CURRENT গণনা করার জন্য যা মূলত বর্তমানে ব্যবহৃত স্থানটির একটি বদ্বীপ। ব্যাকআপ ড্রাইভে মাইনাস স্টার্ট পজিশন যা আমরা VFILE এ শেষ রাউন্ডে সেভ করেছি (আবার ব্যাকআপ শুরু হওয়ার সময় আমাদের ড্রাইভে থাকা ডেটা ছিল)। স্ক্রিপ্টটি অভ্যন্তরীণভাবে বাইটের সাথে কাজ করে কিন্তু আধা ঘণ্টা পরে এটিকে সহজ করার জন্য আমরা 500MB ডেটা ব্যাকআপ করে নিই তারপর সূত্রটি হবে BACKUP_CURRENT = 1.5GB - 1GB (প্রাথমিক অবস্থা) => যা আমাদেরকে প্রকৃত তথ্য 500 এমবি ফেরত দেয়। আমরা এখন পর্যন্ত কি ব্যাক আপ করেছি। আপনি দেখতে পাচ্ছেন যে ব্যাকআপের শুরুতে আসল ডেটা কী ছিল তা নজরে না রেখে এই আকারের হিসাব ব্যর্থ হবে কারণ এটি দেখতে পাবে যে এই মুহুর্তে ব্যবহৃত স্থানটি 1.5 গিগাবাইট জানে না যে ডিস্কে 1 জিগ ডেটা ছিল পূর্ববর্তী ব্যাকআপ থেকে আসছে তাই এটি অনুমান করবে যে সার্ভার আমাদের 500MB এর পরিবর্তে 1.5GB ডেটা পাঠিয়েছে।

5, BACKUP_OVERALL পড়বে, এই ডেটা সার্ভারের দ্বারা গণনা করা হয়েছিল যখন এটি প্রাথমিক শুষ্ক rsync করেছিল (তাই এটি একটি বাহ্যিক ডেটা উৎস যা বাইটের পরিমাণ ধারণ করে যা সার্ভার-> অরেঞ্জবক্স থেকে ব্যাকআপ করা হবে)। এই মানটি এই মুহুর্তে ডিস্কের সামগ্রিক মুক্ত জায়গার বিপরীতে পরীক্ষা করা হবে এবং যদি এটি অতিক্রম করে তবে এলসিডিতে একটি ত্রুটি বার্তা প্রদর্শিত হবে এবং স্ক্রিপ্টটি কার্যকর করা বন্ধ করবে। আবার মনে রাখবেন যে এই স্ক্রিপ্টটি কেবল প্রদর্শিত হয়, এটি ব্যাকআপ প্রক্রিয়ায় হস্তক্ষেপ করে না। আপনি যদি ডিস্কে ফাইল পরিষ্কার করেন বা ফাইলের পরিমাণ দূর থেকে পরিবর্তিত হয় এবং অতএব BACKUP_OVERALL এক পর্যায়ে পরিবর্তিত হয় তবে এটি এগিয়ে যাবে।

6, অবশেষে আমরা দ্বিতীয় স্তরের চেকগুলি সম্পন্ন করেছি এটি কিছু প্রদর্শন করার সময়। স্ক্রিপ্ট উভয়ই একটি সাধারণ সি অ্যাপ ব্যবহার করে কনসোলে এবং এলসিডিতে ডেটা প্রদর্শন করে। ব্যাকগ্রাউন্ডটি নীল রঙে স্যুইচ করা হয়েছে যা ইঙ্গিত করে যে ব্যাকআপ শেষ পর্যন্ত শুরু হয়েছে এবং অগ্রগতি নিম্নলিখিত সূত্র PROGRESS = $ ((($ BACKUP_CURRENT * 100) / $ BACKUP_OVERALL)) দ্বারা গণনা করা হয়েছে। এটি একটি মৌলিক শতাংশ গণনা যা আমরা বর্তমান পরিমাণ গ্রহণ করি, আমাদের উদাহরণে 0.5GB*100/2GB = 25%।

7, সংখ্যাগুলি বাইট থেকে মেগা/গিগা বাইটে রূপান্তরিত হয় এবং 1GB এর চেয়ে কম হলে স্ক্রিনটি স্বয়ংক্রিয়ভাবে এমবিতে প্রদর্শিত হয়।

8, আমাদের ক্ষেত্রে এটি ম্যাপ করার জন্য একটি জিনিস বাকি আছে তা হল 20% কলাম LCD তে 25%। আমাদের উদাহরণে এটি 25 * 20/100 = 5 হবে। বর্তমানে এলসিডি প্রোগ্রামের সাথে রিফ্রেশ প্রয়োগ করা হয়েছে যে আপনি যখনই প্রোগ্রামটি কল করবেন তখন এটি পুরো স্ক্রিনটি পুনরায় অঙ্কন করবে। সুতরাং এই ক্ষেত্রে এটি স্ক্রিনে 5 টি হ্যাশমার্ক # আঁকার জন্য 5 বার লুপ চালাবে এটি প্রতিটি রাউন্ডে কুৎসিত ঝলকানি হিসাবে দেখাবে তাই পরিবর্তে আমি LFILE1 এবং 2 এ গণনা করা প্রগতি বার ডেটা লিখছি, যা এই ক্ষেত্রে পরে 5 রাউন্ডে ##### থাকবে এবং এটি ফিরে পড়ে এবং এলসিডিতে প্রদর্শিত হবে। আপনি রামডিস্কে এলএফআইএলইএলএইচএইচএক্সএক্সএক্স এবং এক্সএমএক্সএক্সকে অতিরিক্ত রাইট অপারেশন থেকে এসডকার্ড বাঁচাতে পারেন, এটি আমার জন্য কোনও সমস্যা সৃষ্টি করে না, ক্রোন থেকে স্ক্রিপ্টটি প্রতি মিনিটে একবার চলে।

9, যখন ব্যাকআপটি সার্ভার থেকে অন্য স্ক্রিপ্টটি শেষ করে যা rsync চালায় তখন FFILE (ফাইলটি শেষ করুন) স্পর্শ করবে। পরবর্তী লুপ এ backup_progress.sh তখন দেখাবে যে ব্যাকআপ সম্পন্ন হয়েছে এবং allyচ্ছিকভাবে অরেঞ্জবক্স বন্ধ করার জন্য অন্য স্ক্রিপ্টকে কল করে। এটি এই মুহুর্তে তার লক ফাইলগুলি মুছে দেয় যা আরও কার্যকর করা অসম্ভব করে তোলে, এমনকি যদি আপনি এই স্ক্রিপ্টটি চালানোর পরের মিনিটে শাটডাউন সক্ষম না করেন তবে এটি অবিলম্বে বন্ধ হয়ে যাবে কারণ BFILE সেখানে নেই এবং FFILE নেই। অতএব এটি ব্যাকআপ সম্পন্ন বার্তাটি অনির্দিষ্টকালের জন্য প্রদর্শন করবে যদি না ব্যাকআপ পুনরায় চালু হয়।

দূরবর্তী ব্যাকআপ স্ক্রিপ্ট (কমলা- remote.sh):

আপনাকে ব্যাকআপের জন্য একটি ssh কী এবং ড্রাইভের জন্য লুকস এনক্রিপশনের জন্য একটি কী তৈরি করতে হবে। যখন আপনি প্রথমবার ম্যানুয়ালি রিমোট ব্যাকআপ চালান তখন এটি কমলা বাক্স হোস্ট ফিঙ্গারপ্রিন্ট হোস্ট ফাইলে সংরক্ষণ করবে (এই বিন্দু থেকে এটি ক্রোন দ্বারা স্বয়ংক্রিয়ভাবে চলতে পারে)।

ডিস্ক = "/dev/disk/by-id/…"

আপনার হার্ডডিস্ক আইডেন্টিফায়ার চালানোর জন্য uuid, blkid খুঁজে বের করুন অথবা সংশ্লিষ্ট/dev/disk/ডিরেক্টরিগুলি দেখুন।

যদি আপনি সবকিছু ব্যাক আপ করতে না চান তবে একটি ডিরেক্টরি অন্তর্ভুক্তি অন্তর্ভুক্তি সেটআপ হতে পারে। এটি বেশ বিরক্তিকর প্রক্রিয়া কারণ rsync এর জন্য যদি আপনি কাঠামোর গভীরে একটি একক সাব-ডিরেক্টরি বাদ দিতে চান তবে আপনাকে করতে হবে:

+ /ক

+/a/b +/a/b/c +/a/b/c/d -/a/b/c/d/e +/dir2

যেহেতু এই স্ক্রিপ্টটি অরেঞ্জবক্সে দূরবর্তীভাবে কমান্ডগুলি চালাচ্ছে, সেই দিক থেকে রিটার্ন ভেরিয়েবলের কোন তত্ত্বাবধান নেই, তাই আমি কিছু চতুর কৌশল ব্যবহার করি যেমন এটি /tmp/contmsg.txt এ রিমোট ড্রাইভ খোলার বার্তাটি আউটপুট করবে, তারপর বিশ্লেষণ করুন এটি সফল কিনা তা দেখার জন্য, যদি তা না হয় তবে এটি rsync বাইনারিটিকে অ-এক্সিকিউটেবল-এ পরিবর্তন করে যাতে rsync এসডিকার্ড পূরণ করে অরেঞ্জপিআইএস রুটফগুলিতে ডেটা আপলোড করার চেষ্টা করবে না। এটি অসম্ভব করতে chattr +i /mnt /backup এ অপরিবর্তনীয় বিট সেট করার একটি ভাল অভ্যাস।

সাইজ প্রিকালকুলেশন সার্ভারে স্থানীয়ভাবে হয় তাই এই ফাইলটি পরবর্তী ধাপে অরেঞ্জবক্সে পাঠাতে হবে।

((I = 0; i <100; i ++)); কারণ নিম্নমানের DSL/কেবল ইন্টারনেট সংযোগের ক্ষেত্রে rsync প্রায়ই ভেঙে যেতে পারে, সময়সীমা শেষ হয়ে যায়। যদি এটি সফলভাবে সম্পন্ন হয় তবে লুপটি আরও পুনরাবৃত্তির চেষ্টা না করে ভেঙে যাবে। এটি ভাল অপারেটিং সিস্টেমগুলির সাথে নিখুঁতভাবে কাজ করে, তবে যদি কোন কারণে রিমোট বক্স উইন্ডো হয় এবং সেখানে NTUSER. DAT- এ নিয়মিত প্রবেশাধিকার অস্বীকার করা হবে তাহলে rsync একটি ত্রুটি কোড ফেরত দেবে এবং এই লুপটি 100 বার কার্যকর হবে এবং তারপর এখনও ব্যর্থ হবে।

ধাপ 5: বন্ধ এবং করণীয় তালিকা

বন্ধ এবং করণীয় তালিকা
বন্ধ এবং করণীয় তালিকা
বন্ধ এবং করণীয় তালিকা
বন্ধ এবং করণীয় তালিকা

আমার নির্দেশযোগ্য আবার দেখায় কিভাবে আপনি আপনার নিজের 10 $ কম্পিউটার থেকে আরও ভাল, আরো কাস্টমাইজযোগ্য ডিভাইস তৈরি করতে পারেন যা বাফেলো থেকে নরককে হারাতে পারে যার মালিকানা লকড এনএএস ডিভাইস, অদ্ভুত অভ্যন্তরীণ বিভাজন, ব্যস্তবাক্স পঙ্গু লিনাক্স সেগফোল্টিং সরঞ্জাম, পরিচালিত তাদের উইন্ডোজ সফটওয়্যার, ক্লোজড ফার্মওয়্যার, খারাপ ডকুমেন্টেশন এবং সাপোর্ট এবং আপনি যত টাকা খরচ করবেন না কেন আপনার অগ্রগতি নির্দেশক কখনোই আপনার ব্যাকআপ দেখাবে না উল্লেখ করে না যে অরেঞ্জবক্স দেখতে কতটা শীতল (আমি এমনকি কমলা CAT5 কেবল ব্যবহার করে এটি দিয়ে: D)।

মিনি কম্পিউটারগুলি একই <100 $ মূল্যের লাইন বজায় রেখে আরও শক্তিশালী হয়ে উঠছে এবং আমরা সেগুলোকে আরও বেশি বেশি কাজে ব্যবহার করতে পারি। যেহেতু Gbe ইথারনেট পোর্টগুলি আজ 1-2 বছরে খুব সাধারণ এই বোর্ডগুলির মেমরি নাটকীয়ভাবে বৃদ্ধি পাবে এবং সেগুলি ZFS ভিত্তিক ব্যাকআপ সিস্টেমের জন্যও ব্যবহার করা যাবে।

-সি প্রোগ্রাম দ্বারা সূক্ষ্ম শস্য অগ্রগতি সূচক (আমার অন্য প্রকল্পের একটি দেখুন WasserStation)। এই মুহুর্তে lcdPuts (lcd, line1) এর সাথে অক্ষর মোডে শুধুমাত্র # হ্যাশমার্ক # অক্ষর ব্যবহার করা হয়েছে, এটি 1 কলামকে 5 ভাগে ভাগ করার জন্য অক্ষর LCDs ব্যবহার করার সময়ও উন্নত করা যেতে পারে এবং প্রধান C প্রোগ্রামটি 25 এর মত একটি পূর্ণসংখ্যা নিতে এবং বের করতে পারে গ্রাফিক্যাল এলসিডি ব্যবহার করে অগ্রগতি বারটি সঠিকভাবে বা আরও উন্নত করা হয়েছে

-নতুন এবং নতুন ব্যাকআপ তৈরির জন্য একটি অপসারণযোগ্য এইচডিডি থাকার সম্ভাবনা এবং তাদের বিভিন্ন স্থানে স্থানান্তরিত করার জন্য (যদি বাক্সটি একটি খালি ড্রাইভ সনাক্ত করে তবে এটি এনক্রিপশন কী দিয়ে এটি স্বয়ংক্রিয়ভাবে ফরম্যাট করা উচিত)।

-যদি আপনি মেকারবটের সাথে আপনার নিজের কেস প্রিন্ট করতে চান তবে অরেঞ্জ এনএএস আপনার জন্য আকর্ষণীয় হতে পারে:

প্রস্তাবিত: