linux中VPS自動備份資料庫實現方法

來源:互聯網
上載者:User

這是我的自動備份資料庫 SHELL 指令碼, 它將在 VPS 伺服器上運行, 匯出資料庫後壓縮成包, 然後通過 scp 命令將壓縮包備份到另一台伺服器( x4100 ) 中.

 代碼如下 複製代碼

#!/bin/bash
D="/root/backup"
T=`date +%Y%m%d`
if [ ! -d "${D}/${T}" ]; then
 /bin/mkdir "${D}/${T}"
fi
/usr/local/mysql/bin/mysqldump --host=localhost --user=root --password=資料庫密碼 要備份的資料庫名 > "${D}/${T}/${T}.sql"
cd ${D}
/bin/tar -czf  "${D}/${T}.tar.gz" "${T}"
/usr/bin/scp "${D}/${T}.tar.gz" kuco@x4100.unix-center.net:~/web_backup/studyday.net


2, 設定 Crontab , 更多的 crontab 介紹在這裡

 代碼如下 複製代碼

crontab -e
30 04 * * * /bin/sh /root/backup/web_backup.sh

3, 可能會遇到的問題:

在 STEP 1 中 scp 遠程複製命令時會遇到輸入密碼的提示, 如果沒有密碼輸入, 會導致複製不成功. 通過百度找到瞭解決的辦法.

1, 在 VPS 伺服器上的 ~/.ssh/ 目錄下產生密鑰檔案:

 代碼如下 複製代碼
mkdir -p ~/.ssh
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa

2, 在 x4100 伺服器上配置:

 代碼如下 複製代碼
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys

3, 將 VPS 伺服器的 ~/.ssh/id_rsa.pub 內容追加到 x4100 伺服器的 ~/.ssh/authorized_keys 裡面

這樣就可能在調用 scp 命令時沒有密碼輸入提示了.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.