如何用SED批量 查詢、新增、刪除、替換配置檔案裡面的選項
廢話不說,直接上程式碼,注意裡面的單引號、雙引號及轉義符:
#!/bin/sh
function mariadb_conf {
#yum install mariadb mariadb-server MySQL-python
#cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
#mysql conf
if grep -q default-storage-engine /etc/my.cnf;then
echo "ok for mysql conf already ok"
else
#\cp conf/my.cnf /etc/my.cnf
\cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
str[1]="bind-address = 10.0.0.11"
str[2]="default-storage-engine = innodb"
str[3]="innodb_file_per_table"
str[4]="collation-server = utf8_general_ci"
str[5]="init-connect = 'SET NAMES utf8'"
str[6]="character-set-server = utf8"
line=`grep -n "\[mysqld\]" /etc/my.cnf | cut -d ":" -f 1`
for i in `seq 6`;do
sed -i ''$line'a'"${str[$i]}" /etc/my.cnf
done
systemctl enable mariadb.service
systemctl restart mariadb.service
#/etc/init.d/mysqld start
mysqladmin -u root password openstack
echo "fix mysql conf successful"
fi
}
function keystone {
#install keystone
###cteate radom 10 num for keystone
#ADMIN_TOKEN=`openssl rand -hex 10`
#mkdir /etc/keystone
#mkdir /var/log/keystone
#mkdir /var/run/keystone
pid=`ps -e | grep keystone-all | grep -v grep | wc -l`
if [ $pid -gt 0 ];then
echo "ok for keystone"
else
#line=`grep -n "#admin_token = ADMIN" $conf | cut -d ":" -f 1`
#sed -i ''$line'a'"admin_token = 1a267aae6d394e2f97b0" $conf
###test conf
###grep "^[a-z]" /etc/keystone/keystone.conf
#\cp ../conf/keystone.conf /etc/keystone/
conf=/etc/keystone/keystone.conf
strs[1]="#admin_token = ADMIN"
strd[1]="admin_token = 1a267aae6d394e2f97b0"
strs[2]="#debug = false"
strd[2]="debug = true"
strs[3]="#verbose = false"
strd[3]="verbose = true"
strs[4]="#log_file = <None>"
strd[4]="log_file = keystone.log"
strs[5]="#log_dir = <None>"
strd[5]="log_dir = \/var\/log\/keystone"
strs[6]="#connection = <None>"
strd[6]="connection = mysql:\/\/keystone:keystone\@controller1\/keystone"
strs[7]="#provider = keystone.token.providers.uuid.Provider"
strd[7]="provider = keystone.token.providers.uuid.Provider"
strs[8]="#driver = keystone.token.persistence.backends.sql.Token"
strd[8]="driver = keystone.token.persistence.backends.sql.Token"
for i in `seq 8`;do
sed -i '/'"^${strd[$i]}"'/d' $conf
line=`grep -n "${strs[$i]}" $conf | cut -d ":" -f 1`
#echo $line
sed -i ''$line'a'"${strd[$i]}" $conf
done
keystone-manage pki_setup --keystone-user root --keystone-group root
chown -R keystone:keystone /var/log/keystone
chown -R keystone:keystone /etc/keystone/ssl
chown -R keystone:keystone /etc/keystone
chmod -R o-rwx /etc/keystone/ssl
#Populate the Identity service database:
#keystone-manage db_sync
su -s /bin/sh -c "keystone-manage db_sync" keystone
systemctl enable openstack-keystone.service
systemctl restart openstack-keystone.service
fi
#add crond
#(crontab -l -u keystone 2>&1 | grep -q token_flush) || \
#echo '@hourly /usr/bin/keystone-manage token_flush >/var/log/keystone/keystone-tokenflush.log 2&1' \
#>> /var/spool/cron/keystone
}
mariadb_conf
keystone
相關推薦
如何用SED批量 查詢、新增、刪除、替換配置檔案裡面的選項
廢話不說,直接上程式碼,注意裡面的單引號、雙引號及轉義符: #!/bin/sh function mariadb_conf { #yum install mariadb mariadb-server MySQL-python #
演算法導論 第十二章:二叉查詢樹 筆記(二叉查詢樹、查詢二叉查詢樹、插入和刪除、隨機構造的二叉查詢樹)
二叉查詢樹是一種樹資料結構,它與普通的二叉樹最大的不同就是二叉查詢樹滿足一個性質:對於樹中的任意一個節點,均有其左子樹中的所有節點的關鍵字值都不大於該節點的關鍵字值,其右子樹中的任意一個節點的關鍵字值都不小於該節點的關鍵字值。 在二叉查詢樹上可以進行搜尋、取最小值、取最大值、取指定節點的前驅
MySQL索引操作:建立、新增和刪除索引
如果對索引的作用不太瞭解的建議先閱讀上一篇博文:MySQL索引的作用和分類介紹 建立索引 建立表的時候建立索引 格式: CREATE TABLE 表名[欄位名 欄位型別] [UNIQUE|FULLTEXT|SPATIAL|...] [INDEX|K
MySQL中外來鍵的定義、作用、新增和刪除
1 簡介 在實際開發的專案中,一個健壯資料庫中的資料一定有很好的參照完整性。例如學生檔案和成績單兩張表,如果成績單中有張三的成績,學生檔案中張三的檔案卻被刪除了,這樣就會產生垃圾資料或者錯誤資料。為了保證資料的完整性,將兩張表之間的資料建立關係,因此就需要在成績
SQL_3th_T-SQL語句建立和刪除資料庫、新增和刪除約束
在SQL Server 2008 R2中點選新建查詢,輸入如下程式碼,選中程式碼段,並點選執行,就能執行選中區域程式碼: --使用數T-SQL語句來建立資料庫 create database Students on ( name='Students', --這是資料檔案的邏
在arcgis中提取、新增與刪除Shape檔案Z值
一、問題描述 有一批3d模型沒有高程值;在BS平臺上預覽顯示這些模型插入地下去了;預覽效果非常差,因為Z值為都是0; 由於平臺讀取資料是geometry的Z值欄位,而不是重新建一個欄位,所以要改寫ge
Laravel5.5整合七牛雲上傳、管理(刪除、查詢)
一、為什麼使用七牛雲端儲存 1、使用七牛頻寬和CDN,速度快,不佔用開發者伺服器。 2、支援圖片任意格式、任意解析度自動生成,可以用來做圖片伺服器。 3、小流量免費:儲存空間 10GB,每月下載流量 10GB,每月 PUT/DELETE 10萬次請求,每月 GET 10
常用模組的測試用例(登入,新增,刪除,查詢)
1、登入 ①使用者名稱和密碼都符合要求(格式上的要求) ②使用者名稱和密碼都不符合要求(格式上的要求) ③使用者名稱符合要求,密碼不符合要求(格式上的要求) ④密碼符合要求,使用者名稱不符合要求(格
python學習——修改、新增和刪除元素
在上週簡要的學習了一下python列表的一些操作,並做了做《python程式設計——從入門到實踐》第三章的一些例題。3-1、3-2names=['tony','tom','marry'] print(names[0]) print(names[1]) print(names[
SQL SERVER 查詢每日新增使用者數量、次留數量
1、建立使用者新增表和登入日誌表: --使用者新增表 create table new_user (id int identity(1,1), uid varchar(20), regist_time datetime) insert into new_user(uid
面試題9:數組堆化、堆的插入、堆的刪除、堆排序
art 面試 rewind 刪除 test from minimum 面試題 排序 參考:白話經典算法系列之七 堆與堆排序 1 #include <iostream> 2 #include <climits> 3 #include <v
SQL SERVER 新增表、新增字段、修改字段 判斷表是否存在
相關信息 not null record begin hist char use size content // 新增之前判斷表是否存在 IF NOT EXISTS (SELECT NAME FROM SYSOBJECTS WHERE ID = OBJECT_ID(‘t
第一次嘗試用BaseRecyclerViewAdapterHelper實現上拉重新整理、載入更多、新增頭佈局、尾佈局等等功能
BaseRecyclerViewAdapterHelper 簡介: 減少重複 Adapter 程式碼 新增 Item 的點選事件,長按事件以及子控制元件的點選事件 新增頭部、尾部,下拉重新整理、上拉載入(上拉載入的5種載入更多動畫任你選擇,後期會新增更多的載入動畫)、沒有更多
C++類中單鏈表的實現(頭插、尾插、頭刪、尾刪、指定位置插入、指定位置刪除、連結串列長度、清空連結串列、連結串列排序)
#include<iostream> using namespace std; class Node { public:Node():next(NULL){}Node(int n,Node *p = NULL):value(n),next(p){}int val
table表格的相關設定(邊框合併、隔行變色、新增內邊框、單獨設定某一列)
1、為table表格設定邊框合併 table{ border-collapse:collapse; border-spacing:0; } 2、隔行變色和新增內邊框 function addColor() { var tbodyTrList = $(
Notification(Notification的通知欄常駐、各種樣式、點選無效、禁止滑動刪除、相容低版本)
Notification(Notification的通知欄常駐、Notification的各種樣式、Notification點選無效、Notification禁止滑動刪除) Android的Notification是android系統中很重要的一個機制, 產品人員常常利用通
Linux筆記:禁止root賬號遠端登入、新增swap分割槽、修改ulimit
新裝ubuntu需要執行的幾個操作:1.修改sshd預設埠,禁止root登入sudo vi /etc/ssh/sshd_config將PermitRootLogin 設定為No --表示禁止root遠端登入將Port 修改為2222sudo service sshd
Scala——類的定義、重新實現toString方法、檢查先決條件、新增欄位、私有方法、自指向、輔助構造器、操作符、過載、隱式轉換
/** * Created by jiaoshuhai on 2018/4/23. *///類的建立class Rational(n:Int,d:Int){//類引數,oject無引數 //檢察先決條件 require(d != 0) private def gcd(a : Int ,b :Int) :
堆的構建、堆的插入、堆的刪除、堆排序
#include<stdio.h> #include<stdlib.h> #define INIT_ARRAY_SIZE 50 int heap_size; //堆大小 int heap_cap_size; //堆容量大小 /*函式宣告*/ //構建堆 void build_
jQuery各種選擇器、節點、事件,刪除、複製、插入元素的使用方法總結
《jQuery全面提速》筆記(2015年12月19日) (1)表單域選擇器 :input選擇器, 用於選擇所有input、textarea、select和button元素, $(":input").each(function(){ }); :text選擇器, 用於選擇所有單行文字框(