偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

開發(fā)
crontab定時實(shí)行卻報錯,報錯信息為kubectl command not found,提示沒有找到kubectl指令。本文主要介紹對該報錯信息的分析及其解決辦法。

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

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

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

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

2、進(jìn)入數(shù)據(jù)庫對接節(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**
#備份整個集群庫中的數(shù)據(jù)
#pg_dumpall -a > ${filename}
#備份整個集群庫包含建庫建表操作
pg_dumpall > ${filename}
EOF
#給執(zhí)行權(quán)限
chmod +x /usr/local/backup/exportPG.sh
#將服務(wù)器上的備份腳本復(fù)制到對應(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ù)庫備份腳本,手動執(zhí)行# sh pgbackup.sh的時候,備份正常。但是在使用crontab執(zhí)行任務(wù)定時執(zhí)行的時候,報kubectl command not found的錯誤信息。

4、分析定時執(zhí)行的報錯信息

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

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

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

比如:

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

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

比如:

在root的crontab文件中加入:

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

(3)、如上文所述,當(dāng)手動執(zhí)行腳本正常,但是crontab定時執(zhí)行報錯的情況。就是環(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ù)庫備份腳本,修改后的腳本如下

責(zé)任編輯:張燕妮 來源: 今日頭條
相關(guān)推薦

2009-12-07 18:38:16

WCF異常

2012-11-12 11:33:06

路由器組網(wǎng)H3C

2015-03-09 15:41:08

MongoDB查詢超時異常Socket Time

2013-03-01 15:25:56

路由器網(wǎng)絡(luò)設(shè)備故障備分設(shè)備數(shù)據(jù)

2024-10-07 08:26:05

編程Python異常處理

2024-01-04 16:27:16

2012-03-14 10:58:27

Java

2009-06-03 16:41:21

Eclipse亂碼Eclipse

2011-03-04 13:07:47

Filezilla

2011-01-19 17:54:48

2009-05-31 09:07:35

Oracle鎖定

2011-06-17 11:10:51

Qt 中文 輸出

2010-01-15 09:38:08

磁盤被寫保護(hù)解決辦法

2017-05-04 20:15:51

iOSNSTimer循環(huán)引用

2009-02-18 09:30:10

AJAX跨域XML

2020-05-09 10:59:33

git cloneLinux文件

2015-01-04 13:56:44

DockerPostgreSQL

2020-12-25 19:16:03

C++編程語言

2009-05-26 14:34:55

Ubuntuwubi臨時

2009-11-30 10:55:16

PHP頁面亂碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號