Saya ingin menulis skrip shell (saat ini menggunakan bash) untuk secara otomatis membuat cadangan konten beberapa skema MySQL di server jauh. Server jarak jauh dikunci untuk hanya mengizinkan akses SSH jadi saya harus membuat terowongan SSH sebelum berjalan mysqldump
melawan berbagai skema.
Saya dapat membuat terowongan tanpa masalah, namun saya ingin dapat menutupnya secara otomatis setelah dump database selesai.
Saat ini skrip saya sedang melakukan ini:
/usr/bin/ssh -T -f -L 4444:127.0.0.1:3306 -l remoteuser 208.77.188.166 sleep 600
/usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword db1 | gzip > /root/backups/snapshot/db1.sql.gz
/usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword db2 | gzip > /root/backups/snapshot/db2.sql.gz
/usr/bin/mysqldump --compress -h 127.0.0.1 -P 4444 -u user -ppassword db3 | gzip > /root/backups/snapshot/db3.sql.gz
Jika koneksi tetap terbuka selama 600 detik, namun jelas jika salah satu dump pertama membutuhkan waktu lebih lama dari itu maka koneksi ditutup sebelum dump lainnya selesai. Saya ingin menyimpan file terpisah untuk setiap skema cadangan (jadi akan menghindari --databases
mysqldump untuk saat ini).
Ada saran?