Quickly Backup / dump MySql / Postgres database to another remote server securely

by Vivek Gite on October 1, 2007 · 4 comments

Using UNIX pipe concept one can dump database to another server securely using ssh protocol. All you need remote execution rights for the 'dd' command, over SSH. This allows you to run database dumps across an encrypted channel.

Dump Postgres Database using ssh

Use pg_dump command command:
pg_dump -U USERNAME YOUR-DATABASE-NAME | ssh user@remote.server.com "dd of=/pgsql/$(date +'%d-%m-%y')"

Dump MySQL Database using ssh

Type the following command:
mysqldump -u USERnAME -p'PASSWORD' YOUR-DATABASE-NAME | ssh user@remote.server.com "dd of=/mysql/$(date +'%d-%m-%y')"

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

We're here to help you make the most of sysadmin work. So, subscribe!

{ 4 comments… read them below or add one }

1 Ron October 3, 2007

How do you include the Postgre password in the command line and stop the system from responding that file not found on the remote server?

Reply

2 Cory April 13, 2008

The MySQL backup command is not secure — anyone can view the password using `ps` on the local machine. It is preferred to use the .my.cnf file, with a [mysqldump] header.

Reply

3 melichades August 31, 2008

mysqldump -u USERnAME -p’PASSWORD’ YOUR-DATABASE-NAME | ssh ….

this will lock your db-server for a very long time …

better do a mysqlcopy … –noindexes first, then rebuild the indexes, and then go on as described.

Reply

4 DSampaolo June 2, 2009

Same problem as Ron. Should I touch the file first ? Seems odd… Anyway, thanks for the tips! :)

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 8 + 9 ?
Please leave these two fields as-is:
Are you a human being? Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: