tft每日頭條

 > 科技

 > 通過scp和expect命令實現文件自動封裝并上傳到FTP服務器

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器

科技 更新时间:2024-07-31 18:13:41

簡介:本文主要介紹怎麼将數據庫服務器上的數據文件進行封裝并自動上傳到指定的FTP服務器,實現數據文件的異地備份。其具體措施是提前部署好FTP服務器,然後将數據庫服務器的需要備份的數據文件進行壓縮并移動到其他文件夾下,最後通過expect封裝賬号密碼并通過scp上傳到FTP服務器保存。确保本地和FTP服務端各存一份,實現數據異地備份。

數據異地備份的意義就在于,當受到網絡攻擊、入侵、電源故障或者操作失誤等事故的發生後,可以完整、快速、簡捷、可靠地恢複原有系統,在一定的範圍内保障系統的正常運行。

詳細内容請參考下文。

一、登錄linux系統

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)1

二、查看mysql服務運行狀态

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)2

三、數據庫備份封裝并上傳到FTP服務器

1、安裝依賴工具expect

執行指令# yum install -y expect

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)3

2、本地數據庫備份

先執行指令# mkdir -p /backup/`date " %Y-%m-%d"`

創建當天日期命名的目錄。如下圖

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)4

然後執行指令# /usr/bin/mysqldump -p -B -F -R -x --master-data=2 -uroot -p pythondb > /backup/date_$(date ' %Y%m%d').sql

備份pythondb數據表到/backup目錄中。如下圖

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)5

最後執行指令# tar -zcvf date_20221014.tar.gz date_20221014.sql

加壓備份文件。如下圖

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)6

3、編寫異地備份腳本

執行腳本# scp -C -r /backup/2022-10-14/ root@172.16.27.48:/usr/local/backup/

上傳備份文件到FTP服務器。如下圖

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)7

查看FTP服務器端對應目錄。如下圖

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)8

4、使用expect封裝scp異地備份腳本

先編寫使用expect封裝賬号和密碼的scp傳輸腳本。如下所示

通過scp和expect命令實現文件自動封裝并上傳到FTP服務器(通過scp和expect命令實現文件自動封裝并上傳到FTP服務器)9

然後保存該文件為scp-backup.sh

最後,執行計劃任務指令# crontab –e編寫備份任務。如下圖

* * * * * /usr/local/scp-backup.sh

格式說明:第1列為分鐘,0~59;第2列為小時,0~23;第3列為日期,1~31;第4列為月份,1~12;第5列為星期,0~7(0和7表示星期天);第6列為要運行的命令(如果有多個命令用 && 隔開)。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved