원격 서버에서 여러 MySQL 스키마의 내용을 자동으로 백업하기 위해 셸 스크립트 (현재 bash를 사용)를 작성하고 싶습니다. 원격 서버는 SSH 액세스 만 허용하도록 잠겨 있으므로 mysqldump
다양한 스키마에 대해 실행하기 전에 SSH 터널을 만들어야 합니다.
문제없이 터널을 만들 수 있지만 데이터베이스 덤프가 완료된 후 자동으로 터널을 닫을 수 있기를 원합니다.
현재 내 스크립트는 이것을하고 있습니다 :
/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
연결이 600 초 동안 열린 상태 인 경우, 첫 번째 덤프 중 하나가 그보다 오래 걸리면 다른 덤프가 완료되기 전에 연결이 닫힙니다. 각 스키마 백업마다 별도의 파일을 유지하고 싶습니다 (지금은 --databases
mysqldump를 피할 것 입니다).
어떤 제안?