Bagaimana cara backup saya Raspberry Pi?

Saya telah menulis program untuk Raspberry Pi (berjalan Raspbian) selama beberapa minggu sekarang dan ingin memastikan bahwa saya melindungi pekerjaan yang telah saya lakukan.

Bagaimana saya bisa backup file-file yang telah saya buat?

Dapatkah saya hanya pasang SD card ke Windows (XP atau 7) PC dan menyalin ke hard drive lain atau SD card?

Mengomentari pertanyaan (10)
Larutan

Jika anda ingin mempertahankan semua data, anda mungkin akan harus membuat disk image. Selain itu, Windows tidak dapat mengenali khas Linux filesystem, sehingga anda mungkin tidak't bahkan dapat melihat file anda, ketika anda pasang di kartu SD anda.

Menciptakan disk image yang akan melestarikan tidak hanya file tetapi juga filesystem struktur dan ketika anda memutuskan untuk flash anda baru kartu SD, anda akan dapat hanya pasang dan itu akan bekerja.

Linux

Pada Linux, anda dapat menggunakan standar `dd` alat:
dd if=/dev/sdx of=/path/to/image bs=1M

Di mana /dev/sdx adalah kartu SD anda.

Mac

Pada Mac, anda juga dapat menggunakan standar `dd` alat dengan sintaks yang sedikit berbeda:
dd if=/dev/rdiskx of=/path/to/image bs=1m

Di mana /dev/rdiskx adalah kartu SD anda.

(menggunakan rdisk lebih disukai sebagai bahan baku perangkat - lebih cepat)

Untuk mengetahui disk perangkat anda adalah tipe diskutil list pada prompt perintah - juga, anda mungkin perlu menjadi root; untuk melakukan ini, ketik sudo -s dan masukkan password jika diminta.

Windows

1

Pada Windows, anda dapat menggunakan membalikkan proses yang digunakan ketika berkedip kartu SD.

Anda dapat menggunakan Win32 Disk Imager, yang merupakan alat pilihan untuk berkedip kartu SD dari Yayasan. Cukup masukkan nama file (lokasi dan nama dari backup file gambar yang akan disimpan), pilih perangkat (SD card) dan tekan baca:

Tentu saja, anda juga dapat menggunakan Rawwr, dd untuk Windows atau alat serupa, proses ini sangat mirip.

Pilihan 2

Jika anda don't ingin mencadangkan seluruh sistem anda, tetapi hanya file tertentu, saya sarankan anda terhubung ke Raspberry Pi via SFTP dan menyalin file ke komputer lokal anda (Anda dapat menggunakan WinScp klien). Jika anda memiliki SSH diaktifkan, SFTP biasanya tidak memerlukan konfigurasi khusus di Raspberry Pi samping.

Pilihan lain adalah untuk copy file ke sistem remote menggunakan rsync.

Anda juga dapat menginstal driver khusus agar Windows anda dapat membaca ext filesystem (dan dengan demikian akan dapat membaca seluruh kartu SD), seperti ext2fsd tapi itu mungkin tidak layak usaha.


Karena gambar akan menjadi ukuran yang sama seperti kartu SD anda, anda mungkin ingin untuk kompres itu. Hal ini dapat dicapai hanya dengan favorit anda menggunakan alat kompresi, seperti gzip, 7zip, WinZip, WinRar ...

Komentar (17)

Jika anda menjalankan Linux, maka anda dapat menggunakan dd perintah untuk membuat backup penuh dari gambar:

dd if=/dev/sdx of=/path/to/image

atau untuk kompresi:

dd if=/dev/sdx | gzip > /path/to/image.gz

Di mana sdx adalah kartu SD anda.

Untuk mengembalikan backup, anda reverse perintah:

dd if=/path/to/image of=/dev/sdx

atau ketika dikompresi:

gzip -dc /path/to/image.gz | dd of=/dev/sdx
Komentar (13)

Selain itu blok-tingkat backup, ada dua pendekatan umum untuk menangani sumber: untuk arsip itu terus menerus (1), atau untuk menggunakan sistem kontrol revisi (2).

Kita akan menggunakan command-line (setiap terminal lokal atau SSH koneksi ke Raspberry Pi mesin), kan?

1. Arsip

cd ~/projects
tar czvf your-raspberry-project-top-level-dir-v1.0.tgz \
         ./your-raspberry-project-top-level-dir 
scp your-raspberry-project-top-level-dir-v1.0.tgz \
         user@backup-host:/home/user/backups/

2. RCS (Git misalnya)

cd ~/projects/your-raspberry-project-top-level-dir
make clean                          # Or clean it manually using rm (rm ./*.o ./*.pyc)
git init                            # Create new repo here
git add .                           # Add source files to the staging index
git status                          # Verify if it's OK
git commit -a -m "Initial import"   # Fix application's source changes
git add remote https://github.com/user/your-raspberry-project.git
git push -u origin master           # Sends the sources to your github repo
git pull && git push && git status  # Now origin/master is your tracking branch
Komentar (2)

Pada Mac anda don't ingin menjadi menggunakan /dev/diskn. Anda harus menggunakan /dev/rdiskn sebaliknya, di mana n adalah jumlah OS menggunakan untuk mengidentifikasi kartu SD anda. Hal ini mengurangi waktu yang diperlukan untuk menyalin dengan jumlah yang besar.

Jadi untuk optimal proses backup di Mac, saya akan merekomendasikan melakukan hal-hal berikut:

Menjalankan diskutil list, dan menemukan disk yang sesuai untuk anda Raspberry Pi's SD card:

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            499.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *7.9 GB     disk1
   1:             Windows_FAT_32                         58.7 MB    disk1s1
   2:                      Linux                         7.9 GB     disk1s2

Jelas /dev/disk1 saya 8GB SD card, partisi Linux namanya juga sedikit petunjuk.

Namun, alih-alih menggunakan /dev/disk1 dengan dd, anda harus menggunakan /dev/rdisk1, seperti:

sudo dd if=/dev/rdisk1 of=/path/to/backup.img bs=1m

Dan untuk mengembalikannya, hanya swap jika (input file), dan dari (output file) parameter:

sudo dd if=/path/to/backup.img of=/dev/rdisk1 bs=1m

Atau, dengan gzip, untuk menyimpan sejumlah besar ruang:

sudo dd if=/dev/rdisk1 bs=1m | gzip > /path/to/backup.gz

Dan, untuk menyalin gambar ke SD:

gzip -dc /path/to/backup.gz | sudo dd of=/dev/rdisk1 bs=1m

Untuk informasi lebih lanjut, lihat wiki ini halaman.

Komentar (3)

Anda dapat menjalankan perintah ini dari PC Linux anda dengan banyak ruang:

ssh root@raspberrypi gzip -c /dev/mmcblk0 > img.gz

Sebagai prasyarat anda'll perlu memiliki yang dihasilkan .ssh keys dan disalin id_XXX.pub ke /root/.ssh/authorized_keys.

It's mungkin untuk memiliki masalah dengan file sistem sejak itu's hidup cadangan, tetapi jika anda Raspberry Pi isn't real sibuk biasanya akan OK.

It's mungkin lebih cepat untuk melakukan kompresi pada PC seperti ini:

ssh root@raspberrypi dd if=/dev/mmcblk0 | gzip -c > img.gz
Komentar (5)

Jika anda menggunakan Windows:

  1. Download Win32 Disk Imager.

  2. Membuat path file yang ingin anda gunakan untuk menyimpan gambar anda. (Saya menggunakan C:\RasPi_Bkp)

  3. Menjalankan Win32 Disk Imager

  4. Browse ke file cadangan anda jalan di tempat, dan ketik nama file.

  5. Klik simpan

  6. Pastikan perangkat yang ditampilkan dalam menu drop-down di sebelah kanan file path adalah salah satu yang ingin anda back up.

  1. Klik "Baca"

  2. Menunggu.

Komentar (2)

Saya menjalankan Raspbian dan menggunakan dd dan cron untuk melakukan backup otomatis dari kartu SD saya untuk saya USB drive eksternal.

Itu adalah benar-benar solusi sederhana. Ini berjalan seminggu sekali pada 2 am pada senin pagi dan membuat sebuah gambar dari kartu SD.

Saya menulis sebuah script yang menutup layanan seperti lighttpd dan cron, untuk meminimalkan risiko kartu SD yang ditulis di tengah-tengah backup, kemudian panggilan dd, sebelum memulai layanan lagi ketika backup telah selesai.

I've menempatkan script dan beberapa petunjuk di blog saya, http://www.stuffaboutcode.com/2012/08/raspberry-pi-auto-backups.html

Komentar (2)

Jika program anda adalah semua dalam pi userid, ada's benar-benar tidak ada alasan untuk mem-back up seluruh filesystem, seperti yang disarankan. apa yang saya lakukan adalah untuk hanya back up tunggal id. Saya jalankan perintah:

tar -czf pi.tgz *

dari pi's home directory, yang menciptakan file pi.tgz, yang berisi semua file dan direktori yang terdapat di sana (tidak termasuk file yang tersembunyi). Saya kemudian scp file ini ke yang lain linux komputer, tapi anda bisa ftp atau e-mail ke suatu tempat untuk aman-menjaga... apa pun yang masuk ke komputer lain.

Hal ini menciptakan banyak file yang lebih kecil untuk anda back-up.

Khawatir tentang semua paket-paket tambahan anda've dipasang di sepanjang jalan? Membuat script yang akan melakukan pemasangan untuk anda lagi harus anda butuhkan untuk menciptakan kartu SD anda, dan menyimpannya di pi's home directory di suatu tempat. (Aku punya ~/bin direktori untuk hal-hal seperti itu). Memiliki semua perintah yang anda butuhkan untuk melakukan pemasangan untuk membawa anda kembali ke posisi yang anda inginkan. Itu dokumen perubahan anda, dan memungkinkan anda untuk dengan cepat membangun sebuah SD card. Ini akan memuat perintah-perintah dalam bentuk:

apt-get --assume-yes install apache2 mysqld mysql php5 php-pear

Mulai keluar dengan

apt-get update
apt-get --assume-yes upgrade

sehingga sistem anda juga dibawa hingga ke tingkat saat ini sebelum anda mulai menambahkan paket anda.

Karena ini akan di pi.tgz, anda'll memiliki ketika anda membutuhkannya.

Komentar (2)

Untuk Debian anda bisa menggunakan dd dan tar. Hal ini akan membuat salinan lengkap dari kartu SD anda dan akan memerlukan eksternal (SD card) penyimpanan, mungkin dipasang USB atau drive jaringan.

dd if=/dev/sdd of=yourbackupfilenamehere.dd
tar zcvf yourbackupfilenamehere.dd.tar.gz

Dengan /dev/sdd menjadi lokasi dari kartu SD anda, dan dari menjadi nama file output.

Komentar (4)

Untungnya Raspberry Pi dapat membuat cadangan dari dirinya sendiri yang independen dari primary OS yang digunakan untuk mengakses Raspberry (Windows, Linux, Mac). dd, tar dan rsync adalah alat yang berbeda untuk membuat backup di Linux. Semua jenis backup yang dapat dibuat dengan berjalan Pi yang disediakan itu's menghentikan semua sibuk tugas-tugas seperti mysql, smb, dlna, owncloud, seafile, apache et al sebelum membuat cadangan. Ada berbagai pertanyaan di mana pendekatan dijelaskan secara lebih rinci dan solusi yang mungkin dijelaskan di sini

Komentar (0)

Jika anda Raspberry Pi terhubung ke jaringan dan anda ingin otomatis on-the-fly backup, mungkin cara termudah adalah Bittorent Sync - sangat mudah diinstal dan berjalan dengan lancar dan stabil pada Pi dan banyak platform lainnya.

Komentar (1)

Tidak ada yang lebih menakutkan dd, sync, tar, ..., pemula ramah SD Card Copier

Versi baru dari Raspbian yang disebut stretch memiliki seorang pemula sangat cocok untuk aplikasi yang disebut Kartu SD Copier. Anda don't perlu menggunakan Linux alat-alat seperti dd dll. Ia bahkan bisa copy kartu besar untuk kartu-kartu kecil.

Bagaimana melakukannya

Anda mulai dengan GUI RPi aplikasi ikon menu di pojok kiri atas, pergi ke Aksesoris, lalu klik Kartu SD Copier.

Semua yang perlu anda lakukan adalah beberapa klik dalam GUI!

Setelah anda membuat backup SD card, anda dapat menggunakan Windows Disk Manager untuk membaca kartu's gambar untuk Windows file dan menyimpannya dalam direktori Windows. Dengan cara ini anda hanya perlu fisik kartu SD dan menyimpan banyak versi dari gambar di Windows PC.

Tentu saja anda hanya bisa menggunakan cadangan kartu sebagai copy pekerjaan, untuk mengganti kartu yang asli, yang sekarang menjadi master card, dan kunci di tempat yang aman.

Komentar (0)

Ketika mencari untuk membuat gambar yang disesuaikan SD card saya menemukan posting ini. Jawaban terbaik berikut membahas pencitraan kartu SD, tapi apa yang saya cari diperlukan menyusut filesystem untuk membuat gambar yang sekecil mungkin. Akhirnya saya membuat sendiri alat untuk melakukan hal ini dan garis besar proses di: https://raspberrypi.stackexchange.com/a/37899/32585

Komentar (0)

Berikut adalah 3 pilihan:

  1. Dalam versi terbaru dari Raspbian, ada sebuah alat yang mengubah OS dan file ke dalam .file img yang anda kemudian dapat menempatkan pada USB, atau PC anda.

  2. Pasang SD card ke PC Windows, dan start up Win32 Disk Imager (install di sini jika anda belum't sudah.)

(1) jenis nama & lokasi untuk athe file gambar. Di (2), pilih huruf drive dari kartu SD anda. Kemudian tekan 3. Ini tidak sama seperti pilihan 1.

  1. Plug di USB stick ke Pi, dan menyalin semua file penting di.
Komentar (0)

Saya membuat sebuah utilitas untuk backup raspberry pi jika anda adalah Linux. Ini juga akan mengecilkan gambar dari raspberry pi, sehingga anda dapat menempatkan .iso yang lebih kecil SD card: RaspberryPiShrink

Ini akan menjalankan script python yang akan memandu anda melalui proses. Hanya pasang di kartu microSD anda ke Ubuntu, Linux Mint atau Debain komputer, dan ikuti di terminal petunjuk.

Komentar (0)

Aplikasi android ini akan membaca SD card ke .img file, dan zip itu di waktu yang sama: https://play.google.com/store/apps/details?id=com.redrobe.raspicardimager

Komentar (0)

I've telah menggunakan usbit untuk Windows. It's satu-satunya alat yang dapat saya temukan yang akan memungkinkan anda untuk swap lebih besar dari SD card ke yang lebih kecil. Semua yang saya lakukan adalah mencentang berikut pada halaman pilihan; Abaikan ukuran cek dan Memotong kebesaran gambar.

Hal ini memungkinkan saya untuk swap saya OpenELEC dan Xbian gambar dari 16 GB kelas 4 SD 8 GB class 10 kartu.

It's JAUH lebih mudah daripada mengubah ukuran tabel partisi, dll.

Komentar (2)