The following bash script will open a socks tunnel with a remote host and use a local mysqldump cli tool to backup a mysql database.
#!/bin/sh DT=$(date '+%Y-%m-%dT%H:%M:%S') SUFFIX= FILENAME=$DT$SUFFIX BACKUPSPATH= USER= IP= PORT= DBUSER= DBPASS= DBNAME= echo "Opening socks tunnel to $IP" echo "Writing $FILENAME" ssh -f -L $PORT:127.0.0.1:$PORT $USER@$IP sleep 10; \ mysqldump -u $DBUSER -h 127.0.0.1 -p$DBPASS -P $PORT --routines $DBNAME > $BACKUPSPATH/$FILENAME