ব্যাকআপ রাস্পবেরি পাই স্বয়ংক্রিয়ভাবে, ইনক্রিমেন্টাল ব্যাকআপ সহ


15

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

সহজে এবং নির্ভরযোগ্যভাবে প্রয়োজনে সম্পূর্ণ পুনরুদ্ধার করতে আমার রাস্পবেরি পাই এর সামগ্রীগুলি ব্যাকআপ করতে চাই।

এই বৈশিষ্ট্যগুলি আদর্শ হবে:

  • বাহ্যিক অবস্থানে রাখা ব্যাকআপগুলি (ইউএসবি স্টিক, ডিএএস, এনএএস, নেটওয়ার্ক কম্পিউটার ইত্যাদি)
  • স্বয়ংক্রিয়করণ, বর্ধিত বা সময় নির্ধারণের মাধ্যমে
  • ব্যাকআপগুলির সংস্করণ নম্বর

এসডি কার্ডটি ক্লোন করা একটি জনপ্রিয় সমাধান বলে মনে হচ্ছে তবে গোল্ডিলকসের এই পোস্ট অনুসারে এই এটি যুক্তিযুক্ত নয় কারণ একটি ক্লোনটিতে এমন ফাইল রয়েছে যা কেবল রানটাইম ইত্যাদিতে লোড হয় etc.

সুতরাং আমি ধরে নিচ্ছি যে একটি ভাল সমাধান এমন কিছু ব্যবহার করে rsyncবা সম্ভবত আরও দৃ .়তার সাথে, একটি ইউটিলিটি যা উপরের ক্রাইটের পরিচালনা করতে পারে।

আমার বিশেষ পরিস্থিতি: ল্যানটিতে আমার একটি রাস্পবেরি পাই রয়েছে যেখানে আমি ম্যাক ওএস এক্স কম্পিউটার, একটি সিনোলজি ডিস্কস্টেশন এনএএস বা রাস্পবেরির সাথে যুক্ত একটি ইউএসবি মেমরি স্টিকের সাথে ব্যাকআপ নিতে পারি। আমি পরেরটি ব্যবহার না করা পছন্দ করব।


উবুন্টু সাইটে ব্যাকআপ বিকল্পগুলির একটি দীর্ঘ তালিকা রয়েছে (বেশিরভাগ অ-উবুন্টু নির্দিষ্ট) জিজ্ঞাসাবাবু
প্রশ্ন /

উত্তর:


10

রেনাপশট সেই মানদণ্ডগুলি পূরণ করে:

  • স্থানীয়ভাবে বা দূরবর্তীভাবে ব্যবহার করা যেতে পারে।

  • স্বয়ংক্রিয় / নির্ধারিত হতে পারে।

  • সংখ্যাযুক্ত বর্ধিত ব্যাকআপ ব্যবহার করে।

আমি এটি যে সার্ভারগুলিতে কাজ করি সেগুলিতে এটি ব্যবহৃত হয়, যেখানে এটি মাঝে মাঝে দিনটি বাঁচিয়েছিল, তার বাইরে আমার এত ব্যক্তিগত অভিজ্ঞতা নেই তবে এখানে একটি দুর্দান্ত পরিচয় বলে মনে হয় , আর্চ লিনাক্স উইকি, যা দুর্দান্ত আছে বলে মনে হয় ডকুমেন্টেশনের একটি পৃষ্ঠা রয়েছে (আমি নিশ্চিত যে এটির বেশিরভাগ অংশ অন্যান্য ডিস্ট্রোদের ক্ষেত্রেও সমানভাবে প্রযোজ্য) এবং হোম পৃষ্ঠাটি এমন একটি হাওটোকে বোঝায় যা আমি অনলাইনে খুঁজে পাচ্ছি না, তবে এটি অনুসন্ধান করার ফলে অসংখ্য টিউটোরিয়াল, আলোচনা ইত্যাদি ঘটে up এই লিঙ্কগুলি ছাড়াও (প্রকৃত উপায় কীভাবে অফলাইনে রাখা যেতে পারে যাতে লোকেরা ভুল সংস্করণ সহ ভুলটিকে ব্যবহার করে বিভ্রান্ত না হয়)।


  1. যদিও আপাতদৃষ্টিতে এখন (2018) এটি বর্গব্যাকআপের পক্ষে অবিস্মরণীয় হতে পারে ।

ধন্যবাদ! আমি এই সপ্তাহান্তে এটি পরীক্ষা করব এবং যদি আপনার উত্তরটি কার্যকর হয় তবে তা নিশ্চিত করব।
উইন্টারফ্লাগস

1
রুপের ফটোশট আর রক্ষণাবেক্ষণ করা হয় না। মূল লেখক সুইচড ব্যবহার করে BorgBackup
lightswitch05

@ লাইটসুইচ05 জেনে রাখা ভাল!
স্বর্ণকেশ

2

আমি বেশ কয়েকটি ব্যাকআপ কৌশল চেষ্টা করেছি। আমি নিয়মিত 2 ব্যবহার করি।

আমি আমার ম্যাকের এসডি কার্ডটি ক্লোন করেছি এবং চিত্রটি সংকুচিত করি। আমি এটি সুরক্ষা ব্যাকআপ হিসাবে বা সদৃশ কার্ড তৈরি করতে ব্যবহার করি। আমি একমত যে এটি আদর্শ নয়। আমার স্ক্রিপ্ট নীচে আছে।

আরও প্রায়শই, আমি rsyncপাই এর সাথে সংযুক্ত এইচডি অনুলিপি করতে ব্যবহার করি । Https://raspberrypi.stackexchange.com/a/28087/8697 দেখুনবিশদ ।

আসলে আমার কাছে হুইজি, জেসি এবং মেট ইমেজগুলি (বিভিন্ন ডিরেক্টরিতে) ব্যাকআপ করার জন্য কিছুটা আলাদা সংস্করণ রয়েছে।

আমি আমার ম্যাকটিতে আরএসএনসি চেষ্টা করেছি, তবে এটি কেবল আংশিকভাবে কাজ করেছে। মৌলিক সমস্যাটি হ'ল ম্যাক এবং পাইতে থাকা ব্যবহারকারীরা মেলে না, এর মধ্যে পার্থক্য উল্লেখ না করেrsync বিভিন্ন প্ল্যাটফর্মের । সর্বশেষতম ওএস এক্স-এ সুরক্ষার পরিবর্তনের ফলে এটিতে আরও সমস্যা হতে পারে।

নেটওয়ার্কের মাধ্যমে অন্যটির ব্যাকআপ নিতে আমি সফলভাবে একটি পাই ব্যবহার করেছি।

আমি জানি না এটি কীভাবে কোনও এনএএস-এর কাজ করবে, তবে সন্দেহ আছে যে হার্ডলিঙ্ক এবং অনুমতি নিয়ে সমস্যা হতে পারে।

#!/bin/bash
# script to backup Pi SD card
# 2017-06-05
# DSK='disk4'   # manual set disk
OUTDIR=~/temp/Pi
# Find disk with Linux partition (works for Raspbian)
# Modified for PINN/NOOBS
export DSK=`diskutil list | grep "Linux" | sed 's/.*\(disk[0-9]\).*/\1/' | uniq`
if [ $DSK ]; then
    echo $DSK
    echo $OUTDIR
else
    echo "Disk not found"
    exit
fi

diskutil unmountDisk /dev/$DSK
echo please wait - This takes some time
echo Ctl+T to show progress!
time sudo dd if=/dev/r$DSK bs=4m | gzip -9 > $OUTDIR/Piback.img.gz

#rename to current date
echo compressing completed - now renaming
mv -n $OUTDIR/Piback.img.gz $OUTDIR/Piback`date +%Y%m%d`.img.gz

আপনার DAS সমাধানটি পাইয়ের সাথে সংযুক্ত কোনও USB স্টিকের সাথে সহজেই মানিয়ে নেওয়া উচিত, তাই না? নেটওয়ার্কযুক্ত ব্যাকআপ সেটআপ করার বিষয়ে বিরক্ত করার পরিবর্তে আমি কেবল ইউএসবিতে আরএসসিএনকি করার কথা ভাবছি।
শীতকালীন ফ্ল্যাগগুলি

2

আপনি যদি এই 2 টি তথ্য বিবেচনা করেন তবে এটি আপনাকে অন্যান্য বিকল্পগুলির জন্য উন্মুক্ত করবে:

  1. আপনি একই ডিভাইস একসাথে একাধিক ডিরেক্টরিতে মাউন্ট করতে পারেন।
  2. আপনি tmpfsযে কোনও ডিরেক্টরিতে মুখোশ রাখতে চাইলে মাউন্টগুলি তৈরি করতে পারেন।

সুতরাং, হ্যাঁ এমন অনেকগুলি পথ রয়েছে যা আপনি ব্যাকআপ নিতে চান না। আপনি তাদের বেশিরভাগ ২ য় ডিরেক্টরিতে আপনার প্রাথমিক পার্টিশনটি মাউন্ট করে এড়াতে পারেন। অন্যরা এখনও ডেটা থাকবে তোমার মত ব্যাকআপ করতে চান না /tmp, /devএবং/var/log

আমার প্রক্রিয়াটি এভাবে চলে গেল ...

  1. এসএসএইচ রাস্পবেরি পাই মধ্যে
  2. মাউন্ট ঠিক চাই আমি ব্যাকআপ নিতে চাই

    sudo mount                     /dev/mmcblk0p2    /tmp/root/
    sudo mount -t tmpfs -o size=1m tmpfs             /tmp/root/var/log/
    sudo mount -t tmpfs -o size=1m tmpfs             /tmp/root/dev/
    sudo mount -t tmpfs -o size=1m tmpfs             /tmp/root/tmp/
    sudo mount                     /dev/mmcblk0p1    /tmp/root/boot/
    
  3. মেশিন থেকে প্রস্থান করুন
  4. Ssh + tar এর মাধ্যমে ডেটা অনুলিপি করুন

    ssh pi@raspberry.local 'cd /tmp/root; sudo tar cf - * | gzip;' | pv > rpi.tgz
    # NOTE: The `pv` command gives you a progress meter but can be left out.
    
  5. অস্থায়ী মাউন্টগুলি সরান

    for m in /var/log/ /dev/ /boot/ /; do sudo umount /tmp/root${m}; done
    

আপনি একবার ফলাফলের সাথে খুশি হয়ে গেলে, আপনি এগুলি সবকটি একটি একক ফাইলে রাখতে পারেন ~/backup.sh

#!/bin/bash -eu

dir=$(mktemp -d)

cleanup(){
    cd /tmp/ # You can't umount or rm a directory while you are in it.
    for m in /dev/ /tmp/ /var/log/ /boot/ /; do
        sudo umount ${dir}${m}
    done
    rm -rf ${dir}
}

do_mounts(){
    sudo mount                     /dev/mmcblk0p2    ${dir}/
    sudo mount -t tmpfs -o size=1m tmpfs             ${dir}/dev/
    sudo mount -t tmpfs -o size=1m tmpfs             ${dir}/tmp/
    sudo mount -t tmpfs -o size=1m tmpfs             ${dir}/var/log/
    sudo mount                     /dev/mmcblk0p1    ${dir}/boot/
}

send_data(){
    cd ${dir}; sudo tar cf - * | gzip | tee >(md5sum > /tmp/backup.md5);
}

give_feedback(){
    awk '{print "MD5:", $1}' < /tmp/backup.md5 >&2
}

trap cleanup EXIT INT TERM
do_mounts
send_data
give_feedback

এবং কলিং এরকম হয় ...

$ ssh pi@raspberry.local ./backup.sh | pv | tee rpi.tgz | md5sum | awk '{print "MD5:", $1}'
MD5: d3d9181374f3ec8e4e721c786eca9f71
 348MB 0:04:50 [ 1.2MB/s] [                 <=>                                ]
MD5: d3d9181374f3ec8e4e721c786eca9f71

ইঙ্গিত: আপনি পরীক্ষা-নিরীক্ষার সময়, প্রতিটি পরীক্ষার সময় নিজেকে গুছিয়ে tar cf - *নেওয়ার tar cf - etcজন্য পরিবর্তন করুন।


2

আমার রাসপিস @ বাড়ীতে আমার একই সমস্যা ছিল। সে কারণেই আমি রাস্পিব্যাকআপ লিখেছিলাম যা ব্যবহারকারী আবিষ্কার ছাড়াই নিয়মিত বেসে ডিডি, টার এবং আরএসএনসি ব্যাকআপ তৈরি করতে দেয়। শুধু এটা ব্যবহার করে দেখুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.