當前位置:首頁 » 編程軟體 » centos優化腳本

centos優化腳本

發布時間: 2023-09-08 23:52:38

A. centos系統然後用sh腳本定時修改txt文件內容

腳本為

#!/bin/bash
#Filename:script.sh
YE=`date+%Y|awk'{printgensub(/^0/,"","")}'`
MON=`date+%m|awk'{printgensub(/^0/,"","")}'`
DA=`date+%d|awk'{printgensub(/^0/,"","")}'`
echo"blockCheckRealTime$YE/$MON/$DA,01:00:01==1">/tmp/file

Cron任務

00***bash/tmp/script.sh

B. centos怎麼運行perl腳本

同樣的網站程序在linux下運行要比在windows下快出不少,所以決定使用Linux的發行版CentOS,本文主要講解在CentOS下使用yum命令安裝LAMP詳細過程。我們使用的軟體是CentOS的最新版本CentOS6.3,其他版本的也基本類似。第一步:更新系統內核(如果不想更新可以跳過本步)。首先更新系統內核到最新,因為最新版的CentOS6.3的php版本為5.3,早起版本的CentOS的php版本也比較低。執行命令:yum-yupdate注意:如果執行失敗報錯,可以執行修復命令:rpm–import/etc/pki/rpm-gpg/RPM-GPG-KEY*第二步:安裝Apahce、Mysql、PHP及其基礎擴展。執行命令:yum-yinstallhttpdphpphp-mysqlmysqlmysql-server第三步:安裝PHP的其他常用擴展執行命名:yum-yinstallphp-gdphp-xmlphp-mbstringphp-ldapphp-pearphp-xmlrpc第四步:安裝Apache的擴展執行命令:yum-yinstallhttpd-manualmod_sslmod_perlmod_auth_mysql執行完這四步軟體就安裝完成了,接下來要做一些常規的設置。第五步:設置apache/mysql-server環境開機自動啟動執行命令:#設置apache為開機自啟動/sbin/chkconfighttpdon#添加mysql服務/sbin/chkconfig--addmysqld#設置mysql為開機自啟動/sbin/chkconfigmysqldon第六步:啟動apache與msyql分別執行命令:第七步:設置mysql資料庫root帳號密碼mysqladmin-urootpassword'mysql的管理員密碼'第八步:安裝phpmyadmin從phpmyadmin官方網站:/下。解壓phpmyadmin壓縮包後,找到config.sample.inc.php重命名為config.inc.php,修改配置,就安裝完成了。

C. centos 7 shell 腳本怎樣運行

一、root許可權編輯/etc/rc.d/rc.local

Shell代碼
su
cd /etc/rc.d/
vi rc.local

二、在這個文件加上你要執行的腳本,全部內容如下:

Shell代碼
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
mount //192.168.0.3/data2-1 /mnt/data2-1 -o username=un,password=123
mount //192.168.0.3/data2-2 /mnt/data2-2 -o username=un,password=123
mount //192.168.0.3/data2-3 /mnt/data2-3 -o username=un,password=123
mount //192.168.0.3/data2-4 /mnt/data2-4 -o username=un,password=123
mount //192.168.0.3/data2-5 /mnt/data2-4 -o username=un,password=123
提示:這里的做法很不成熟,希望不要這樣,最好自己寫個腳本文件在這里來調用,結構更清晰,但是要注意到是把要執行的命令作為一個參數傳遞給su。

另外復習一個VI編輯命令-拷貝
yy
p

D. Centos 7關於rc.local腳本命令開機不執行及指定用戶啟動的解決方法

1.開機不啟動

在實際核前生產場景中,我們喜歡在安裝了一些軟體服務後,將軟銷備件設置為開機自啟動,設置為開機自啟動有兩種方法:

1)  設置為chkconfig,可以編寫腳本,查看設置開機自啟動的命令 –add表示添加程序自啟動, --list表示查看。

以後的程序如果需要使用chkconfig開機自啟動,改斗清那麼需要在啟動程序中加入三行:

# chkconfig:2345 20 80

#description: Saves and restores system entropy pool for \

#              higher quality random numbergeneration.

                第一行中的20,80是啟動級別,不能與其他程序一樣,因此,需自定義設置。

2)  配置在/etc/rc.local文件中。直接將軟體服務的啟動命令寫在rc.local文件

注意:編輯完rc.local文件後,一定要給rc.local文件執行許可權,否則開機時不會執行rc.local文件中腳本命令

chmod+x /etc/rc.d/rc.local

注意此處,是/etc/rc.d/rc.local,而不是/etc/rc.local,如果給/etc/rc.local執行許可權是無效的,因為/etc/rc.local是軟鏈接,真正的文件是/etc/rc.d/rc.local

2.關於在rc.local文件中指定用戶執行腳本命令

使用su命令即可,命令格式:

su - username -c 「your-cammand」 ,如:

[jiakeke@mongodb ~]$ cat /etc/rc.local

#!/bin/bash

# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES

#

# It is highly advisable to create own systemdservices or udev rules

# to run scripts ring boot instead of using thisfile.

#

# In constrast to previous versions e to parallelexecution ring boot

# this script will NOT be run after all otherservices.

#

# Please note that you must run 'chmod +x/etc/rc.d/rc.local' to ensure

# that this script will be executed ring boot.

touch /var/lock/subsys/local

/bin/systemctl start iptables.service

#startup mongodb

/bin/su - xiaoyao -c  "/mnt/mongodb/bin/mongod --config/mnt/mongodb/bin/mongodb.conf"

注意:指定用戶執行的腳本(程序)目錄,該用戶必須有管理該腳本(程序)目錄(文件)的許可權。

最好將該腳本(程序)目錄的所有權給該用戶:

chown -R xiaoyao.xiaoyao /mnt/mongodb

E. 環境搭建-CentOS 7上通過Shell腳本自動化安裝Harbor

  最近在搭建 Kubernetes 1.14 版本,過程中涉及各種組件的安裝配置,所以打算通過腳本自動化的部署配置這些組件,本文主要描述在 CentOS 7上通過Shell腳本自動化安裝Harbor,上一篇是7月5號寫的,又偷懶了十多天。

環境搭建-CentOS 7上通過腳本自動化部署JDK 8
環境搭建-CentOS 7上通過Shell腳本自動化修改機器名並配置靜態IP
環境搭建-CentOS 7上通過Shell腳本自動化配置免密登錄
環境搭建-CentOS 7上通過Shell腳本自動化安裝Harbor

  安裝 Harbor 的步驟在這里不做詳細列出,具體可參看筆者的這篇文章- 環境搭建-CentOS下安裝Harbor鏡像倉庫 ,本文和這篇文章的不同之處在於 Harbor 的版本,本文採用的是1.8.1,之前使用的是1.5.1,最大的不同是配置文件的不同,詳細可以參看 GitHub 中 release 介紹,配置文件由之前的 harbor.cfg 變更為 harbor.yml:

詳細的腳本如下:

F. linux 內核參數優化

一、Sysctl命令用來配置與顯示在/proc/sys目錄中的內核參數.如果想使參數長期保存,可以通過編輯/etc/sysctl.conf文件來實現。

命令格式:
sysctl [-n] [-e] -w variable=value
sysctl [-n] [-e] -p (default /etc/sysctl.conf)
sysctl [-n] [-e] –a

常用參數的意義:
-w 臨時改變某個指定參數的值,如
# sysctl -w net.ipv4.ip_forward=1
-a 顯示所有的系統參數
-p從指定的文件載入系統參數,默認從/etc/sysctl.conf 文件中載入,如:

以上兩種方法都可能立即開啟路由功能,但如果系統重啟,或執行了
# service network restart
命令,所設置的值即會丟失,如果想永久保留配置,可以修改/etc/sysctl.conf文件,將 net.ipv4.ip_forward=0改為net.ipv4.ip_forward=1

二、linux內核參數調整:linux 內核參數調整有兩種方式

方法一:修改/proc下內核參數文件內容,不能使用編輯器來修改內核參數文件,理由是由於內核隨時可能更改這些文件中的任意一個,另外,這些內核參數文件都是虛擬文件,實際中不存在,因此不能使用編輯器進行編輯,而是使用echo命令,然後從命令行將輸出重定向至 /proc 下所選定的文件中。如:將 timeout_timewait 參數設置為30秒:

參數修改後立即生效,但是重啟系統後,該參數又恢復成默認值。因此,想永久更改內核參數,需要修改/etc/sysctl.conf文件

方法二.修改/etc/sysctl.conf文件。檢查sysctl.conf文件,如果已經包含需要修改的參數,則修改該參數的值,如果沒有需要修改的參數,在sysctl.conf文件中添加參數。如:
net.ipv4.tcp_fin_timeout=30
保存退出後,可以重啟機器使參數生效,如果想使參數馬上生效,也可以執行如下命令:

三、sysctl.conf 文件中參數設置及說明
proc/sys/net/core/wmem_max
最大socket寫buffer,可參考的優化值:873200

/proc/sys/net/core/rmem_max
最大socket讀buffer,可參考的優化值:873200
/proc/sys/net/ipv4/tcp_wmem
TCP寫buffer,可參考的優化值: 8192 436600 873200

/proc/sys/net/ipv4/tcp_rmem
TCP讀buffer,可參考的優化值: 32768 436600 873200

/proc/sys/net/ipv4/tcp_mem
同樣有3個值,意思是:
net.ipv4.tcp_mem[0]:低於此值,TCP沒有內存壓力.
net.ipv4.tcp_mem[1]:在此值下,進入內存壓力階段.
net.ipv4.tcp_mem[2]:高於此值,TCP拒絕分配socket.
上述內存單位是頁,而不是位元組.可參考的優化值是:786432 1048576 1572864

/proc/sys/net/core/netdev_max_backlog
進入包的最大設備隊列.默認是300,對重負載伺服器而言,該值太低,可調整到1000

/proc/sys/net/core/somaxconn
listen()的默認參數,掛起請求的最大數量.默認是128.對繁忙的伺服器,增加該值有助於網路性能.可調整到256.

/proc/sys/net/core/optmem_max
socket buffer的最大初始化值,默認10K

/proc/sys/net/ipv4/tcp_max_syn_backlog
進入SYN包的最大請求隊列.默認1024.對重負載伺服器,可調整到2048

/proc/sys/net/ipv4/tcp_retries2
TCP失敗重傳次數,默認值15,意味著重傳15次才徹底放棄.可減少到5,盡早釋放內核資源.

/proc/sys/net/ipv4/tcp_keepalive_time
/proc/sys/net/ipv4/tcp_keepalive_intvl
/proc/sys/net/ipv4/tcp_keepalive_probes
這3個參數與TCP KeepAlive有關.默認值是:
tcp_keepalive_time = 7200 seconds (2 hours)
tcp_keepalive_probes = 9
tcp_keepalive_intvl = 75 seconds
意思是如果某個TCP連接在idle 2個小時後,內核才發起probe.如果probe 9次(每次75秒)不成功,內核才徹底放棄,認為該連接已失效.對伺服器而言,顯然上述值太大. 可調整到:
/proc/sys/net/ipv4/tcp_keepalive_time 1800
/proc/sys/net/ipv4/tcp_keepalive_intvl 30
/proc/sys/net/ipv4/tcp_keepalive_probes 3

/proc/sys/net/ipv4/ip_local_port_range
指定埠范圍的一個配置,默認是32768 61000,已夠大.
net.ipv4.tcp_syncookies = 1
表示開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN攻擊,默認為0,表示關閉;

net.ipv4.tcp_tw_reuse = 1
表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連接,默認為0,表示關閉;

net.ipv4.tcp_tw_recycle = 1
表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關閉。

net.ipv4.tcp_fin_timeout = 30
表示如果套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間。

net.ipv4.tcp_keepalive_time = 1200
表示當keepalive起用的時候,TCP發送keepalive消息的頻度。預設是2小時,改為20分鍾。

net.ipv4.ip_local_port_range = 1024 65000
表示用於向外連接的埠范圍。預設情況下很小:32768到61000,改為1024到65000。

net.ipv4.tcp_max_syn_backlog = 8192
表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網路連接數。

net.ipv4.tcp_max_tw_buckets = 5000
表示系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數字,TIME_WAIT套接字將立刻被清除並列印警告信息。默認為 180000,改為 5000。對於Apache、Nginx等伺服器,上幾行的參數可以很好地減少TIME_WAIT套接字數量,但是對於Squid,效果卻不大。此項參數可以控制TIME_WAIT套接字的最大數量,避免Squid伺服器被大量的TIME_WAIT套接字拖死。

Linux上的NAT與iptables
談起Linux上的NAT,大多數人會跟你提到iptables。原因是因為iptables是目前在linux上實現NAT的一個非常好的介面。它通過和內核級直接操作網路包,效率和穩定性都非常高。這里簡單列舉一些NAT相關的iptables實例命令,可能對於大多數實現有多幫助。
這里說明一下,為了節省篇幅,這里把准備工作的命令略去了,僅僅列出核心步驟命令,所以如果你單單執行這些沒有實現功能的話,很可能由於准備工作沒有做好。如果你對整個命令細節感興趣的話,可以直接訪問我的《如何讓你的Linux網關更強大》系列文章,其中對於各個腳本有詳細的說明和描述。

EXTERNAL="eth0"
INTERNAL="eth1"

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE

LOCAL_EX_IP=11.22.33.44 #設定網關的外網卡ip,對於多ip情況,參考《如何讓你的Linux網關更強大》系列文章
LOCAL_IN_IP=192.168.1.1 #設定網關的內網卡ip
INTERNAL="eth1" #設定內網卡

echo 1 > /proc/sys/net/ipv4/ip_forward

modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

iptables -t nat -A PREROUTING -d $LOCAL_EX_IP -p tcp --dport 80 -j DNAT --to 192.168.1.10

iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp --dport 80 -j SNAT --to $LOCAL_IN_IP

iptables -A FORWARD -o $INTERNAL -d 192.168.1.10 -p tcp --dport 80 -j ACCEPT

iptables -t nat -A OUTPUT -d $LOCAL_EX_IP -p tcp --dport 80 -j DNAT --to 192.168.1.10
獲取系統中的NAT信息和診斷錯誤
了解/proc目錄的意義
在Linux系統中,/proc是一個特殊的目錄,proc文件系統是一個偽文件系統,它只存在內存當中,而不佔用外存空間。它包含當前系統的一些參數(variables)和狀態(status)情況。它以文件系統的方式為訪問系統內核數據的操作提供介面
通過/proc可以了解到系統當前的一些重要信息,包括磁碟使用情況,內存使用狀況,硬體信息,網路使用情況等等,很多系統監控工具(如HotSaNIC)都通過/proc目錄獲取系統數據。
另一方面通過直接操作/proc中的參數可以實現系統內核參數的調節,比如是否允許ip轉發,syn-cookie是否打開,tcp超時時間等。
獲得參數的方式:
第一種:cat /proc/xxx/xxx,如 cat /proc/sys/net/ipv4/conf/all/rp_filter
第二種:sysctl xxx.xxx.xxx,如 sysctl net.ipv4.conf.all.rp_filter
改變參數的方式:
第一種:echo value > /proc/xxx/xxx,如 echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
第二種:sysctl [-w] variable=value,如 sysctl [-w] net.ipv4.conf.all.rp_filter=1
以上設定系統參數的方式只對當前系統有效,重起系統就沒了,想要保存下來,需要寫入/etc/sysctl.conf文件中
通過執行 man 5 proc可以獲得一些關於proc目錄的介紹
查看系統中的NAT情況
和NAT相關的系統變數
/proc/slabinfo:內核緩存使用情況統計信息(Kernel slab allocator statistics)
/proc/sys/net/ipv4/ip_conntrack_max:系統支持的最大ipv4連接數,默認65536(事實上這也是理論最大值)
/proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established 已建立的tcp連接的超時時間,默認432000,也就是5天
和NAT相關的狀態值
/proc/net/ip_conntrack:當前的前被跟蹤的連接狀況,nat翻譯表就在這里體現(對於一個網關為主要功能的Linux主機,裡面大部分信息是NAT翻譯表)
/proc/sys/net/ipv4/ip_local_port_range:本地開放埠范圍,這個范圍同樣會間接限制NAT表規模

cat /proc/sys/net/ipv4/ip_conntrack_max

cat /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

cat /proc/net/ip_conntrack

cat /proc/sys/net/ipv4/ip_local_port_range

wc -l /proc/net/ip_conntrack

grep ip_conntrack /proc/slabinfo | grep -v expect | awk '{print 2;}'

grep ip_conntrack /proc/slabinfo | grep -v expect | awk '{print 3;}'

cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10

cat /proc/net/ip_conntrack | perl -pe s/^(.*?)src/src/g | cut -d ' ' -f1 | cut -d '=' -f2 | sort | uniq -c | sort -nr | head -n 10

G. Centos7 自己寫了一個java程序的jar包,需要寫一個腳本,然後設置成開機自啟動,應該怎麼做

首先: centos 7默認 /etc/rc.local是沒有執行許可權的,所以:
第一步: chmod+x /etc/rc.local
第二步:把你要開機啟動的腳本加到這個文件最後。保存就可以了
沒錯,就這么簡單,哈哈,好運

熱點內容
漢諾塔遞歸演算法python 發布:2024-11-19 18:26:17 瀏覽:578
盲井ftp 發布:2024-11-19 18:21:38 瀏覽:264
悅虎二代安卓如何看電量 發布:2024-11-19 18:19:27 瀏覽:295
人工駕駛編程 發布:2024-11-19 18:05:20 瀏覽:271
java編程試題 發布:2024-11-19 17:26:37 瀏覽:664
python顯示二進制文件 發布:2024-11-19 17:26:36 瀏覽:147
excel中編程 發布:2024-11-19 17:23:32 瀏覽:549
android透明圖片 發布:2024-11-19 17:01:50 瀏覽:163
iis上傳文件限制 發布:2024-11-19 16:37:55 瀏覽:409
面試題演算法 發布:2024-11-19 16:30:25 瀏覽:549