Skrip bash ringkas untuk sandaran pangkalan data mysql
- 3572
- 384
- Chris Little I
Q. Cara menjadualkan sandaran pangkalan data MySQL? Skrip Bash untuk Backup Pangkalan Data MySQL. Dalam tutorial ini, anda akan menemui skrip bash yang mudah, yang mengambil sandaran pangkalan data MySQL, mengarkibkan sandaran dan simpan pada sistem tempatan. Skrip ini juga akan mengeluarkan sandaran yang lebih lama dari cakera ke ruang tanpa ruang. Anda boleh menentukan bilangan hari untuk menyimpan sandaran pada cakera tempatan. Anda juga boleh menggunakan tutorial ini untuk membuat sandaran pangkalan data MySQL dan menyimpan salinan pada pelayan FTP jauh.
Buat skrip sandaran mysql
Sekarang, salin kandungan berikut dalam fail skrip (seperti: /sandaran /mysql-backup.sh) dan simpan pada sistem linux anda. Gunakan pautan ini untuk memuat turun skrip. Selepas menukar beberapa nilai konfigurasi dalam bahagian "kemas kini di bawah nilai" dalam skrip mengikut persekitaran anda.
#!/tong/bash ############################################# ################# ## ## MySQL Skrip sandaran pangkalan data ## Ditulis oleh: Rahul Kumar ## url: https: // tecadmin.Net/ Bash-Script-Mysql-Database-Backup/ ## Kemas kini terakhir: 05 Jan, 2019 ## ##############################################################################################################################################################################araan ################################# export Path =/bin:/usr/bin:/usr /Tempatan/bin hari ini = "Tarikh +"%d%b%y "" ############################### ################################################# Kemas kini di bawah nilai ##################### db_backup_path = "/sandaran/dbbackup" mysql_host = "localhost" mysql_port = "3306" mysql_user = "root" MYSQL_PASSWORD="mysecret" DATABASE_NAME="mydb" BACKUP_RETAIN_DAYS=30 ## Number of days to keep local backup copy ########################### ################################### mkdir -p $ db_backup_path/$ hari ini echo "sandaran dimulakan untuk pangkalan data -$ database_name" mysqldump -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ database gzip> $ db_backup_path/$ hari ini/$ database_name-$ hari ini.SQL.Gz jika [$? -eq 0]; Kemudian echo "sandaran pangkalan data berjaya menyelesaikan ralat" else echo "yang ditemui semasa sandaran" keluar 1 fi ##### Buang sandaran lebih tua daripada backup_retain_days hari ##### dbdeldate = "tarikh +"%d%b%y " --date = "$ BABLUP_RETAIN_DAYS hari yang lalu" "Jika [ ! -z $ db_backup_path]; kemudian cd $ db_backup_path jika [ ! -z $ dbdeldate] && [-d $ dbdeldate]; kemudian rm -rf $ dbdeldate fi fi ### akhir skrip ####123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | #!/tong/bash ############################################# #################### mysql sandaran sandaran pangkalan data ## Ditulis oleh: Rahul Kumar ## url: https: // tecadmin.Net/Bash-Script-Mysql-Database-Backup/## Kemas kini terakhir: 05 Jan, 2019 #################################################################################################################################################################################################### wreal last ever thurmpert: ######################################. ################################# export Path =/bin:/usr/bin:/usr /tempatan/bintoday = 'tarikh +"%d%b%y"' ########################################################## ################################################Al Di bawah nilai ###################### db_backup_path = '/sandaran/dbbackup'mysql_host =' localhost'mysql_port = '3306'mysql_user =' root'mysql_password ='mysecret'DATABASE_NAME='mydb'BACKUP_RETAIN_DAYS=30 ## Number of days to keep local backup copy ############################ ################################## mkdir -p $ db_backup_path/$ hari ini echo "Backup bermula untuk pangkalan data -$ database_name" mysqldump -h $ mysql_host \ -p $ mysql_port \ -u $ mysql_user \ -p $ mysql_password \ $ database_name | gzip> $ db_backup_path/$ hari ini/$ database_name-$ hari ini.SQL.Gz jika [$? -eq 0]; Kemudian echo "sandaran pangkalan data berjaya menyelesaikan kesilapan" else echo "yang ditemui semasa sandaran" keluar 1fi ##### keluarkan sandaran lebih tua daripada backup_retain_days hari ##### dbdeldate = 'date +"%d%b%y" - -date = "$ backup_retain_days beberapa hari yang lalu" 'jika [ ! -z $ db_backup_path]; kemudian cd $ db_backup_path jika [ ! -z $ dbdeldate] && [-d $ dbdeldate]; kemudian rm -rf $ dbdeldate fifi ### akhir skrip #### |
Setelah membuat atau memuat turun skrip pastikan anda menetapkan kebenaran untuk berjalan dengan betul.
Chmod +x /sandaran /mysql-backup.sh
Jadual skrip di Crontab
Sekarang jadilah skrip di Crontab untuk dijalankan setiap hari dan sandaran lengkap secara berkala. Edit Crontab pada sistem anda dengan Crontab -e
perintah. Tambahkan tetapan berikut untuk membolehkan sandaran pada pukul 2 pagi.
0 2 * * * root /sandaran /mysql-backup.sh
Simpan fail Crontab anda. Setelah mengaktifkan Cron, skrip akan mengambil sandaran secara automatik, tetapi terus menyemak sandaran setiap minggu atau bulanan untuk memastikan.