Rsync ke bucket AWS S3

26

Untuk server saya hosting situs web di Saya ingin membuat cadangan data dan pengaturan ke ember S3. Saya menemukan bahwa Anda tidak dapat langsung menggunakan rsync untuk mencadangkan ke ember S3. Apakah ada cara lain untuk mencapai perintah rsync berikut untuk membuat cadangan data ke bucket S3?

rsync -­av ­/Data /s3bucket

Saya juga ingin mem-backup database mysql di server itu ke bucket S3. Apa cara terbaik untuk mencapai ini?

Pertanyaan terakhir, jika saya berhasil mem-backup semuanya ke S3. Apa cara terbaik mengembalikan server jika macet atau dalam kasus terburuk benar-benar terhapus? Apakah saya harus mencatat sendiri pengaturan server dan mengkonfigurasi ulang server atau adakah cara untuk mencadangkan ini?

Bart Bergmans
sumber

Jawaban:

35

Untuk berkomunikasi dengan s3, Anda harus memiliki 2 hal

  1. Kredensial pengguna IAM yang memiliki akses baca-tulis ke bucket s3.
  2. Klien seperti aws-cli untuk bash, perpustakaan boto untuk python dll.

setelah Anda memiliki keduanya, Anda dapat mentransfer file apa pun dari mesin Anda ke s3 dan dari s3 ke mesin Anda. Di bawah ini adalah contoh untuk aws-cli.

  1. untuk menyinkronkan semua file dalam folder

    aws s3 sync source_folder s3://your_bucket_name/destination_folder/

  2. untuk menyalin satu file ke s3

    aws s3 cp source_file s3://your_bucket_name/destination_folder/

ganti saja sumber & tujuan pada perintah untuk mengunduh file apa saja dari s3.

untuk info lebih lanjut ikuti aws docs

Gaurav Pundir
sumber
1
Catatan: Anda mungkin ingin menjalankan "aws configure" terlebih dahulu, untuk menyimpan kredensial Anda, sehingga Anda tidak harus memasukkannya dengan setiap sinkronisasi.
Tim Burch
1
Perlu ditunjukkan bahwa rsyncmenghitung checksum, sisi klien dan sisi server, dan kemudian membandingkannya untuk secara akurat memutuskan apakah suatu file telah berubah. Sedangkan aws s3 synctidak - ia menggunakan ukuran file dan cap waktu. Seseorang tolong perbaiki saya jika saya salah?
Lqueryvg
13

Anda dapat mencoba rclone .

Setup ( dokumen ):

rclone config

Sinkronkan ( dokumen ):

rclone sync /my/local/folder s3service:bucket-name
Keith
sumber
2
rcloneadalah utilitas kecil yang fantastis!
Andrew Odendaal
1
1+ rclone, saya merasa sangat mudah digunakan dan pengembangnya tampak sangat aktif dan menarik
adampski
Kedengarannya bagus, tetapi bisakah Anda menguraikan apa kelebihannya dari menggunakan sinkronisasi aws s3?
Kutzi
Ini memenuhi persyaratan OP untuk menggunakan rsync. Saya belum pernah menggunakan s3 sync, atau rclone dengan s3, jadi saya tidak tahu lagi.
Keith