Cadangan Basis Data MySQL ke Amazon S3 (skrip shell)

Cadangan Basis Data MySQL ke Amazon S3 (skrip shell)

Skrip shell adalah kumpulan perintah untuk melakukan pekerjaan tertentu. MySQL adalah sistem manajemen basis data relasional yang banyak digunakan pada sistem Linux. Amazon S3 adalah perangkat penyimpanan cloud yang disediakan oleh Amazon Web Services. Ini adalah praktik yang baik bagi administrator sistem untuk mencadangkan database secara berkala dan menyimpannya di lokasi terpencil seperti Amazon S3.

  • Skrip bash sederhana untuk cadangan database mysql
  • Skrip bash canggih untuk cadangan database mysql

Tutorial ini berisi skrip shell yang membuat cadangan database mySQL dan mengunggahnya ke ember Amazon S3. Anda juga dapat menggunakan skrip shell ini untuk mendukung database Mariadb atau Amazon Aurora (MySQL Compatible).

Cadangan Basis Data MySQL ke S3

Gunakan tutorial langkah demi langkah di bawah ini untuk mencadangkan database MySQL dan mengunggahnya ke ember Amazon S3.

1. Instal AWS CLI

Untuk menggunakan skrip ini, sistem harus menginstal AWS CLI.

https: // tecadmin.net/instalasi-aws-cli-in-linux/

2. Buat S3 Bucket

Login ke AWS Management Console dan buat ember S3 baru.

Atau, Anda juga dapat membuat S3 Bucket melalui AWS CLI. Perintah itu akan seperti:

AWS S3api create-bucket--Bucket S3-Bucket-name --region us-East-1  

Ganti saja nama dan wilayah ember.

3. Skrip shell untuk mencadangkan database mysql ke s3

Salin skrip shell di bawah ini ke file seperti DB-Backup.SH. Skrip ini menggunakan mysqldump Perintah untuk membuat cadangan database. Lalu gunakan Gzip Perintah untuk mengarsipkan file cadangan dan akhirnya gunakan AWS Perintah untuk mengunggah file cadangan ke ember Amazon S3.

Buat file seperti /cadangan/skrip/s3-backup-mysql.SH Di Edit Editor Teks Favorit Anda. Kemudian tambahkan konten di bawah ini:

#!/usr/bin/env bash ########################################## ##################################################### ################################################### ### ### #### Penulis: Rahul Kumar ##### Situs web: https: // tecadmin.net ################################################### #################################################### ################################################### # # Setel nama folder format dengan tanggal (2022-05-28) date_format = $ (tanggal +"%y-%m-%d") # kredensial server mysql mysql_host = "localhost" mysql_port = "3306" mysql_user = " Pengguna "mysql_password =" kata sandi " # jalur ke direktori cadangan lokal local_backup_dir ="/cadangan/dbbackup " # atur nama bucket s3 dan jalur direktori s3_bucket_name =" s3-bucket-name "s3_bucket_path =" cadangan/db-backup " # # of" s3_bucket_path = "cadangan/db-backup" # hari untuk menyimpan file cadangan lokal backup_retain_days = 30#Gunakan database tunggal atau ruang basis data basis data yang terpisah = "db1 db2 db3" ##### tidak berubah di bawah baris ini mkdir -p $ local_backup_dir/$ date_format local_dir = $ Local_backup_dir/$ date_format remote_dir = s3: // $ s3_bucket_name/$ s3_bucket_path untuk db di $ databases; lakukan mysqldump \ -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ --single -transaction $ db | gzip -9> $ local_dir/$ db -$ date_format.SQL.GZ AWS S3 Cp $ Local_Dir/$ db-$ date_format.SQL.gz $ remote_dir/ $ date_format/ done dbdeldate = "date +" $ date_format " - -date =" $ backup_retail_days hari yang lalu "" if [ ! -z $ local_backup_dir]; lalu cd $ local_backup_dir if [ ! -z $ dbDeldate] && [-d $ dbDeldate]; lalu rm -rf $ dbdeldate fi fi ## skrip berakhir di sini
12345678910111213141516171819202122232425262828293031323343536373839404144565464484848550555555551515553545656464484885505555515155555545656448484848950#!/usr/bin/env bash ########################################## ################################################### ################################################### ########## Mator: Rahul Kumar ##### Situs web: https: // tecadmin.bersih################################################# ################################################### ################################################### # # Setel nama folder format dengan tanggal (2022-05-28) date_format = $ (tanggal +"%y-%m-%d") # mysql server kredensialsmysql_host = "localhost" mysql_port = "3306" mysql_user = "pengguna" mysql_port = "3306" mysql_user = "pengguna" mysql_port = "3306" mysql_user = "" " Mysql_password = "password" # path ke cadangan lokal Directorylocal_backup_dir = "/backup/dbbackup" # Setel nama ember S3 dan jalur direktori3_bucket_name = "s3-bucket-name" s3_bucket_path = "backup/db-backup" # nomor # nomor # bucket "S3_bucket =" DB-BACKUP " # DOKUP" # DOKUP " # Days To-Backup # File Backup Lokal Backup_Retail_days = 30#Gunakan satu database atau ruang basis data yang terpisah namesDatabases = "db1 db2 db3" ##### tidak berubah di bawah line ini mkdir -p $ local_backup_dir/$ date_format local_dir = $ localpup_dir/$ date_format local_dir = $ BULKUP/$ /$ Date_format remote_dir = s3: // $ s3_bucket_name/$ s3_bucket_path untuk db di $ databases; lakukan mysqldump \ -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ --single -transaction $ db | gzip -9> $ local_dir/$ db -$ date_format.SQL.GZ AWS S3 Cp $ Local_Dir/$ db-$ date_format.SQL.gz $ remote_dir/$ date_format/done dbdeldate = 'date +"$ date_format" - -date = "$ backup_retail_days hari yang lalu"' if [ ! -z $ local_backup_dir]; lalu cd $ local_backup_dir if [ ! -z $ dbDeldate] && [-d $ dbDeldate]; lalu rm -rf $ dbDeldate fifi ## skrip berakhir di sini

Perbarui semua variabel yang diperlukan sesuai dengan lingkungan sistem Anda.

4. Cara menjalankan skrip cadangan

Atur izin eksekusi (x) pada skrip:

chmod +x s3-backup-mysql.SH  

Kemudian jalankan skrip cadangan.

./s3-backup-mysql.SH  

5. Jadwalkan skrip cadangan untuk dijalankan setiap hari

Jadwalkan skrip shell menggunakan crontab untuk berjalan setiap hari.

crontab -e  

Tambahkan pengaturan di bawah ini ke ujung file:

# Jalankan setiap hari @ 2am 0 2 * * */cadangan/skrip/s3-backup-mysql.sh> /dev /null 2> & 1 

Simpan file dan tutup.

Kesimpulan

Tutorial ini memberi Anda skrip shell untuk mencadangkan database MySQL dan mengunggahnya ke ember Amazon S3. Itu bisa membantu Anda untuk mengotomatisasi cadangan basis data dan menyimpan salinan di penyimpanan cloud.