拋磚引玉 Greenplum運維指令碼編寫方式

2021-09-23 11:10:34 字數 3043 閱讀 3629

今天跟大家一起分享幾個運維命令,這些命令都是由普通的linux命令組成的,可以任意組合封裝成shell指令碼,也可以延伸思路封裝其他命令,下面放乾貨拋磚引玉:

命令:

gpssh -f /home/dgadmin/hostfile "du -h --exclude=*pg_log* --exclude=*db_dump* -s /dgdata/primary/dg*"
解釋:

-f 引數後面接segment主機名檔案,通常在集群初始化的時候已經建立,這裡是hostfile檔案

--exclude 引數代表排除的資料夾,這裡不包括日誌和備份檔案,所以兩個exclude選項分別對應了這兩個目錄

-s 引數後面接集**rimary資料目錄,這個通常在初始化集群檔案中已經定義過,本文為dg01,dg02,所以使用dg*

示例:

# 排除所有的日誌和備份檔案

dgadmin@flash:/dgdata/primary/dg0/pg_log$ gpssh -f /home/dgadmin/hostfile "du -h --exclude=*pg_log* --exclude=*db_dump* -s /dgdata/primary/dg*"

[flash] 2.2g /dgdata/primary/dg0

[flash] 2.2g /dgdata/primary/dg1

# 只排除備份檔案

dgadmin@flash:/dgdata/primary/dg0/pg_log$ gpssh -f /home/dgadmin/hostfile "du -h --exclude=*db_dump* -s /dgdata/primary/dg*"

[flash] 3.2g /dgdata/primary/dg0

[flash] 2.2g /dgdata/primary/dg1

命令:

gpssh -f /home/dgadmin/hostfile "du –h -s /dgdata/primary/dg*/pg_log*"
解釋:

-f 引數後面接segment主機名檔案,通常在集群初始化的時候已經建立,這裡是hostfile檔案

-s 引數後面接集**rimary日誌資料目錄,這個通常在初始化集群檔案中已經定義過,本文為dg*/pg_log*

示例:

dgadmin@flash:~$ gpssh -f /home/dgadmin/hostfile "du -h -s /dgdata/primary/dg*/pg_log*"

[flash] 1001m /dgdata/primary/dg0/pg_log

[flash] 56k /dgdata/primary/dg1/pg_log

命令:

for tbl in `psql -qat -c "select tablename from pg_tables where schemaname = 'public';" tpch1g` ; do psql -c "alter table $tbl owner to dgadmin" tpch1g ; done
解釋:

for 語句中第乙個psql查詢出tpch1g資料庫的public模式下的所有表名

do 語句中的psql接前面的結果,迴圈執行更新動作

示例:

# 將tpch1g資料庫下public模式的所有表所屬使用者改為dgadmin

dgadmin@flash:~$ for tbl in `psql -qat -c "select tablename from pg_tables where schemaname = 'public';" -d tpch1g` ; do psql -c "alter table $tbl owner to dgadmin" -d tpch1g ; done

alter table

alter table

alter table

alter table

alter table

alter table

alter table

alter table

# 將tpch1g資料庫下tpch模式的表遷移到public下

dgadmin@flash:~$ for tbl in `psql -qat -c "select tablename from pg_tables where schemaname='tpch';" -d tpch1g`; do psql -c "alter table tpch.$tbl set schema public;" -d tpch1g; done

alter table

alter table

alter table

alter table

alter table

alter table

alter table

alter table

命令:

psql -d postgres -q -c "\l" | sed -n 4,/\eof/p | grep -v rows | grep -v template0 | grep -v template1 | awk ' | sed 's/^://g' | sed -e '/^$/d' | grep -v '|'
解釋:

##本命令實際上就是執行了一下psql的\l命令,將除使用者資料庫以外的所有返回都刪除了
示例:

dgadmin@flash:~$ psql -d postgres -q -c "\l" | sed -n 4,/\eof/p | grep -v rows | grep -v template0 | grep -v template1 | awk ' | sed 's/^://g' | sed -e '/^$/d' | grep -v '|'

postgres

tpch1g

拋磚引玉 ERP

看了這個故事,估計你對erp enterprise resourses planning 企業資源計畫 有個大致的了解。妻子 當然可以,來幾個人,幾點來,想吃什麼菜?丈夫 6個人,我們7點左右回來,準備些酒 烤鴨 番茄炒蛋 冷盤 蛋花湯 你看可以嗎?商務溝通 妻子 沒問題,我會準備好的。訂單確認 妻...

接 拋磚引玉

接上次,考慮到轉datatable實際效能問題,我把本地linq複雜物件不轉成datatable,僅去掉中間的複雜物件.這樣list就可以在webservice中傳遞了.同樣拋磚引玉 1public static list tentity togenerallist tentity this ili...

拋磚引玉,說平台概念

今天看到史玉柱在說推遊戲創業平台,由此相到目前眾多的有實力的公司,都在用這樣的手法謀劃未來 大家都在講平台,阿里的saas,google在謀劃它的網路平台,它的眾多的基礎服務,gae及g2馬上推出還有和學習iphone的開發者分成模式,google有google的戰略 中移動,成立卓望互網,謀化sn...