Saya menjalankan situs web LAMP di Linux 10.0.4 LTS. Saya seorang pemula sysadmin (saya seorang pengembang) dan saya mencari beberapa saran tentang cara terbaik untuk menerapkan cadangan untuk situs web saya. Basis data saya adalah mySQL dan SEMUA tabel basis data saya menggunakan mesin basis data InnoDb.
Ini adalah persyaratan untuk cadangan yang ingin saya terapkan:
Menggabungkan backup inkremental dan penuh dari database mysql Saya ingin memiliki backup inkremental setiap jam, tetapi juga backup harian, mingguan dan bulanan. Namun tidak ada dalam pikiran saya rotasi apa yang harus digunakan untuk berbagai set data cadangan ini - dan juga bagaimana cara mengelolanya ( dan yang lebih penting, cara mengembalikan database dari satu set cadangan penuh / tambahan untuk suatu kencan)
Saya ingin mengompres dan mengenkripsi data, sehingga saya dapat menyimpannya dari jarak jauh (Amazon S3)
Saya ingin ini sepenuhnya otomatis (yaitu dijalankan sebagai tugas cron).
Catatan: Server saya 'tanpa kepala' karena tidak memiliki X windowing atau GUI lain yang diinstal, jadi saya berpikir untuk mengimplementasikan cadangan kami skrip bash. Atau, jika ada perangkat lunak di luar sana yang dapat membantu saya menjalankan jenis cadangan ini, maka itu harus dapat dijalankan dari baris perintah.
Item yang perlu saya backup adalah:
- database mysql
- file situs web (dalam folder yang ditentukan. Idealnya, saya ingin meninggalkan beberapa file yang dibuat otomatis)
- file konfigurasi
- file data lain-lain dalam folder yang berbeda
Ini pertanyaan saya:
Apakah ada perangkat lunak yang ada di luar sana yang dapat saya gunakan untuk melakukan ini, atau apakah saya perlu menulis sendiri (bash script)?
Apa strategi cadangan yang disarankan untuk digunakan (dalam hal apa yang dijalankan setiap jam, harian, mingguan, dll), dan bagaimana cara mengembalikan situs web dari titik waktu tertentu?
Jika saya harus menulis skrip bash saya sendiri (menjadi pemula skrip bash), saya akan berterima kasih jika seseorang dapat menyediakan skrip kerangka untuk membantu saya memulai.
rdiff-backup
sebagai lawan darirsync
yang - setidaknya bagi saya - alat yang lebih umum digunakan?Saya penggemar berat DAR.
http://dar.linux.free.fr/
Ini memiliki pro dan kontra, banyak yang dapat dibaca dengan beberapa cinta Google. Prosesornya cukup intensif (tetapi sebagian besar solusi inkremental yang baik), jadi harus menjadi pertimbangan jika server berada dalam lingkungan bersama (shared hosting atau VPS).
Adapun strategi, DAR sangat mudah diimplementasikan dalam bash / python melalui pengaturan CRON. Ada beberapa skrip bash yang dibuat di situs DAR untuk meninjau dan menyesuaikan sesuai kebutuhan.
Anda dapat mengunggah cadangan DAR dan melakukan diff ke S3 melalui banyak aplikasi S3 yang dibuat sebelumnya.
Seperti biasa, cobalah beberapa solusi untuk mencari tahu apa yang benar / terbaik untuk kebutuhan Anda.
sumber
Saya mengelola 4 situs web yang sangat kecil dengan db yang jarang berubah. Status cadangan saya adalah
mysqldump
dalam 4 basis data, kemudian melakukan zip up semuanya (pemilik situs web menggunakan Windows, jadi tar tidak ada pertanyaan), dan kemudian menggunakan WGET pada mesin pemilik untuk mengunduhnya. Mudah, gratis, dan menggunakan alat linux standar yang jarang rusak.sumber