通过FTP备份MySQL数据库

Vultr提供自动备份作为任何Performance Series VPS的选项。除了此功能外,本文还提供了一个选项,可以自动在服务器上创建每日数据库备份,也可以通过FTP将其发送到备份服务器甚至文件主机。

总览
  • 自动备份每天运行。备份发生的时间是可配置的。
  • 许多文件主机通过FTP提供文件传输,因此您可以自动将数据库发送到您的个人帐户。
  • 备份完成后,它将发送电子邮件。

描述

首先,创建并更改/backups目录。

 mkdir /backups
 cd /backups

然后,使用nano或您喜欢的编辑器创建脚本文件:

nano backupdb.sh

现在,复制并粘贴此脚本,然后根据您的设置在顶部编辑变量:

#!/bin/bash

############### Infos - Edit them accordingly  ########################

DATE=`date +%Y-%m-%d_%H%M`
LOCAL_BACKUP_DIR="/backups"
DB_NAME="database_name"
DB_USER="root"
DB_PASSWORD="root_password"

FTP_SERVER="111.111.111.111"
FTP_USERNAME="ftp-user"
FTP_PASSWORD="ftp-pass"
FTP_UPLOAD_DIR="/upload"

LOG_FILE=/backups/backup-DATE.log

############### Local Backup  ########################

mysqldump -u $DB_USER  -p$DB_PASSWORD $DB_NAME | gzip  > $LOCAL_BACKUP_DIR/$DATE-$DB_NAME.sql.gz

############### UPLOAD to FTP Server  ################

ftp -nv $FTP_SERVER << EndFTP
user "$FTP_USERNAME" "$FTP_PASSWORD"
binary
cd $FTP_UPLOAD_DIR
lcd $LOCAL_BACKUP_DIR
put "$DATE-$DB_NAME.sql.gz"
bye
EndFTP

############### Check and save log, also send an email  ################

if test $? = 0
then
    echo "Database Successfully Uploaded to the Ftp Server!"
    echo -e "Database Successfully created and uploaded to the FTP Server!" | mail -s "Backup from $DATE" [email protected]

else
    echo "Error in database Upload to Ftp Server" > $LOG_FILE
fi

完成脚本编辑并保存文件后,我们可以通过以下命令使文件可执行:

 chmod +x backupdb.sh

您现在可以通过在终端中输入来对其进行测试。

 /backups/backupdb.sh

...,并在执行完成后,键入ls -a以查看数据库是否已备份。还要确认它是否已发送到您的FTP服务器。

如果到目前为止一切正常,我们可以使用Crontab使它每天运行。

Crontab节

您可以使用以下命令编辑crontab:

 crontab -e

这将打开一个文本编辑器,您可以在其中在新行中输入每个作业的时间表。

每个部分都由一个空格隔开,最后一个部分中有一个或多个空格。这是cron作业的布局方式:

分钟(0-59),小时(0-23、0 =午夜),白天(1-31),月份(1-12),工作日(0-6、0 =周日),命令

因此,在编辑器中,键入或粘贴以下行:

 30 02 * * * /backups/backupdb.sh

上面的例子将运行/backups/backupdb.sh凌晨02:30在每个月的每一天。当然,您可以根据需要更改时间。

现在,只需保存并关闭文件。在预定的时间,将执行备份。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。