欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker容器中的Postgresql備份腳本異常解決

 更新時(shí)間:2023年08月28日 17:11:49   作者:胖頭魚不吃魚-  
本文基于K8S中Docker容器對(duì)postgres數(shù)據(jù)庫進(jìn)行備份的操作,但是提示報(bào)錯(cuò),報(bào)錯(cuò)信息為kubectl command not found,本文就來介紹一下報(bào)錯(cuò)信息的分析及其解決辦法,感興趣的可以了解一下

本文基于K8S中Docker容器對(duì)postgres數(shù)據(jù)庫進(jìn)行備份的操作,編寫好腳本后,手動(dòng)執(zhí)行腳本是正常的,但是crontab定時(shí)實(shí)行卻報(bào)錯(cuò),報(bào)錯(cuò)信息為kubectl command not found,提示沒有找到kubectl指令。

本文主要介紹對(duì)該報(bào)錯(cuò)信息的分析及其解決辦法。詳細(xì)內(nèi)容請參考下文。

一、查看數(shù)據(jù)庫環(huán)境

1、獲取數(shù)據(jù)庫所在節(jié)點(diǎn)

2、進(jìn)入數(shù)據(jù)庫對(duì)接節(jié)點(diǎn)容器

二、編寫數(shù)據(jù)庫備份腳本

1、執(zhí)行指令# vim pgbackup.sh

#!/bin/bash
#設(shè)置系統(tǒng)變量
source /etc/profile
filename="`date +%F`_bak.sql"
#備份數(shù)據(jù)腳本
cat > /usr/local/backup/exportPG.sh <<EOF
#!/bin/bash
export PGUSER=****
export PGPASSWORD='******'
export PGHOST=172.**.**.**
export PGPORT=324**
#備份整個(gè)集群庫中的數(shù)據(jù)
#pg_dumpall -a > ${filename}
#備份整個(gè)集群庫包含建庫建表操作
pg_dumpall > ${filename}
EOF
#給執(zhí)行權(quán)限
chmod +x /usr/local/backup/exportPG.sh
#將服務(wù)器上的備份腳本復(fù)制到對(duì)應(yīng)容器中去
kubectl cp /usr/local/backup/exportPG.sh sso/********:/exportPG.sh
#在容器外執(zhí)行該腳本
kubectl exec -it ******** -n sso -- /exportPG.sh
#將備份后的數(shù)據(jù)文件復(fù)制到容器外
kubectl cp sso/********:${filename} /usr/local/backup/${filename}

2、授予備份腳本執(zhí)行權(quán)限

執(zhí)行指令# chmod +x
/usr/local/backup/pgbackup.sh

3、測試數(shù)據(jù)庫備份腳本

說明:測試數(shù)據(jù)庫備份腳本,手動(dòng)執(zhí)行# sh pgbackup.sh的時(shí)候,備份正常。但是在使用crontab執(zhí)行任務(wù)定時(shí)執(zhí)行的時(shí)候,報(bào)kubectl command not found的錯(cuò)誤信息。

4、分析定時(shí)執(zhí)行的報(bào)錯(cuò)信息

說明:crontab執(zhí)行計(jì)劃任務(wù)的時(shí)候并不知道所需要的特殊環(huán)境變量。所以要保證在shelll腳本中提供所有必要的路徑和環(huán)境變量,除了一些自動(dòng)設(shè)置的全局變量。

特別需要注意如下三點(diǎn):

(1)腳本中涉及文件路徑時(shí)寫全局路徑;

比如:

上文所提到的數(shù)據(jù)備份腳本問題,就是kubectl指令沒有寫全路徑,正確的做法是,通過執(zhí)行指令# which kubectl查看指令kubectl的所在位置,讓后將腳本的指令路徑補(bǔ)全。

(2)腳本執(zhí)行要用到程序或其他環(huán)境變量時(shí),通過source命令引入環(huán)境變量;

比如:

在root的crontab文件中加入:

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin

(3)、如上文所述,當(dāng)手動(dòng)執(zhí)行腳本正常,但是crontab定時(shí)執(zhí)行報(bào)錯(cuò)的情況。就是環(huán)境變量問題,可以在crontab中直接引入環(huán)境變量解決。

0 * * * * /etc/profile;/bin/bash /home/scripts/test.sh >/dev/null 2>&1

5、修改后的備份腳本

說明:執(zhí)行指令# vim pgbackup.sh修改數(shù)據(jù)庫備份腳本,修改后的腳本如下

到此這篇關(guān)于Docker容器中的Postgresql備份腳本異常解決的文章就介紹到這了,更多相關(guān)Docker Postgresql備份腳本異常內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker安裝openwrt immortalwrt全過程

    docker安裝openwrt immortalwrt全過程

    本文主要介紹了如何通過OpenWrt和Docker結(jié)合使用,以提供路由器的功能并接管無法安裝軟件的Switch的流量,首先,通過阿里鏡像加速下載并安裝Docker,然后配置網(wǎng)絡(luò),包括開啟網(wǎng)卡混雜模式和創(chuàng)建虛擬網(wǎng)絡(luò)MACVLAN,接著,在OpenWrt中配置網(wǎng)絡(luò),最后拉取OpenWrt鏡像并啟動(dòng)
    2024-10-10
  • Windows的docker刪除容器后WSL2磁盤空間不釋放的問題的解決方法

    Windows的docker刪除容器后WSL2磁盤空間不釋放的問題的解決方法

    很多同學(xué)拉取鏡像使用一段時(shí)間后發(fā)現(xiàn) C 盤快滿了,把之前用過的鏡像和容器刪除,發(fā)現(xiàn) WSL 掛載目錄的虛擬磁盤大小沒有變化,非常的奇怪,所以本文介紹了Windows的docker刪除容器后WSL2磁盤空間不釋放的問題的解決方法,需要的朋友可以參考下
    2024-12-12
  • Docker-利用dockerfile來搭建tomcat服務(wù)的方法

    Docker-利用dockerfile來搭建tomcat服務(wù)的方法

    這篇文章主要介紹了Docker-利用dockerfile來搭建tomcat服務(wù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • docker基本命令及使用實(shí)例詳解

    docker基本命令及使用實(shí)例詳解

    這篇文章主要介紹了docker基本命令及使用實(shí)例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker

    如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker

    這篇文章主要介紹了如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • idea?連接遠(yuǎn)程?docker?并部署項(xiàng)目到?docker的過程

    idea?連接遠(yuǎn)程?docker?并部署項(xiàng)目到?docker的過程

    這篇文章主要介紹了idea連接遠(yuǎn)程docker并部署項(xiàng)目到docker,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-10-10
  • 使用Docker安裝Jenkins的示例代碼

    使用Docker安裝Jenkins的示例代碼

    這篇文章主要介紹了使用Docker安裝Jenkins的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Ubuntu 下通過 Docker 部署 NGINX 服務(wù)器的步驟詳解

    Ubuntu 下通過 Docker 部署 NGINX 服務(wù)器的步驟詳解

    今天分享如何在三豐云免費(fèi)服務(wù)器上使用Docker部署NGINX服務(wù)器,Docker容器化平臺(tái)提升應(yīng)用可移植性,NGINX作為高性能HTTP和反向代理服務(wù)器,感興趣的朋友跟隨小編一起看看吧
    2025-02-02
  • 一文教會(huì)你在Docker容器中實(shí)現(xiàn)Mysql主從復(fù)制

    一文教會(huì)你在Docker容器中實(shí)現(xiàn)Mysql主從復(fù)制

    MySQL的主從復(fù)制之前也沒做過,剛百度了下發(fā)現(xiàn)并不算難,所以下面這篇文章主要給大家介紹了關(guān)于在Docker容器中實(shí)現(xiàn)Mysql主從復(fù)制的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • docker中運(yùn)行PostgreSQL容器的簡單步驟

    docker中運(yùn)行PostgreSQL容器的簡單步驟

    這篇文章主要給大家介紹了關(guān)于docker中運(yùn)行PostgreSQL容器的簡單步驟,隨著docker的廣泛應(yīng)用,為了提供便利的管理,PostgreSQL數(shù)據(jù)庫也支持docker的安裝方式,需要的朋友可以參考下
    2023-08-08

最新評(píng)論