tft每日頭條

 > 生活

 > shell腳本的配置表

shell腳本的配置表

生活 更新时间:2024-12-03 08:47:07

shell腳本與計劃任務

說起計劃任務,我們可以crond服務來管理(臨時文件夾\linux\文檔\2018.11.17\g-Linux計劃任務管理.docx),而步驟複雜、操作繁瑣的任務可以使用shell腳本來批量處理,兩者結合可以非常靈活、自主地完成各種系統運維工作。

下面通過Mysql數據庫的定期自動備份,了解shell腳本與計劃任務的完美協作過程。其中,shell腳本負責具體的備份操作,crond服務負責控制備份周期。

1.确定備份方案

對于存在多個應用的數據庫服務器,備份工作可能會劃分得比較細,需要針對不同的庫和表、不同的備份路徑使用不同的驗證用戶等。下面以遠程備份某某平台的兩個論壇數據庫為例,備份環境與需求如下所述:

  • 備份主機:ip地址為172.16.16.220,通過機櫃内網絡連接目标主機。
  • 數據庫服務器:IP地址為172.16.16.22,MySQL服務監聽的端口為3306
  • 備份内容:對MySQL服務器中的studydb、coursedb庫進行遠程備份,每天陵城2:30執行,每個庫備份為獨立的.sql文件,然後壓縮為".tar.gz"格式,文件名中嵌入執行備份時的日期和時刻。

根據需求,首先需要做兩個工作:其一,确保備份主機與數據庫服務器之間保持連接暢通,不能用網絡鍊路故障、防火牆封鎖等阻礙;其二,MySQL服務必須允許從備份主機遠程訪問,且授權用戶能夠查詢studydb、coursedb庫。

針對本案例的情況,可以創建一個專用的數據庫備份賬戶backuper,允許從備份主機172.16.16.220連接到MySQL數據庫,并授予對studydb、coursedb庫的讀取權限。

shell腳本的配置表(shell腳本與計劃任務)1

從備份主機中測試數據庫訪問、查詢授權等是否有效,或者直接使用mysqldump備份工具進行測試。如下圖:

shell腳本的配置表(shell腳本與計劃任務)2

2.編寫MySQL備份腳本

在備份主機中,創建用存放備份文件的目錄(/opt/dbbak),并編寫備份腳本(dbbak.sh),确認能夠成功執行備份。

shell腳本的配置表(shell腳本與計劃任務)3

腳本代碼中,對于目标主機的ip地址、用戶名、密碼、備份路徑、文件名等信息,可能會在必要的時候變更,為了方便更新腳本,這些内容最好存放到固定名稱的變量中。當需要備份的數據庫發生變化時,隻要修改腳本中的相關變量即可,從而使備份腳本具有可重用、可移植使用的特點,減少了大量的重複編碼的工作量。

3.設置計劃任務

有了批量備份的shell腳本以後,接下來可按照備份要求設置計劃任務,以便自動、定期執行備份操作。在crontab配置記錄中,直接指定dbbak.sh腳本程序的路徑作為執行命令。

shell腳本的配置表(shell腳本與計劃任務)4

,

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

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

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