1、Linux啟動順序?如何添加開機啟動項?
開機加電---->BISO自檢---->加載第一個扇區bootloader---->加載核心Kernel---->執行/sbin/init---->runlevel
第一種: vim /etc/init.d/rc.local 檔案
例如在rc.local末尾添加
/etc/init.d/mysqld start #mysql
開機啟動`
第二種:通過chkconfig指令設定
第三種:自己寫開機啟動的shell腳本
2、Linux常用的安全政策有哪些,并描述如何實作?
禁止系統響應任何從外部/内部來的ping請求
禁止Control-Alt-Delete組合鍵重新開機系統
限制Shell記錄曆史指令大小
删除系統預設的不必要使用者群組
關閉selinux
設定tcp_wrappers防火牆
3、Linux核心參數優化?
編輯/etc/confiscatory
指令格式:
sysctl [-n] [-e] -w variable=value
sysctl [-n] [-e] -p (default /etc/sysctl.conf)
sysctl [-n] [-e] –a
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套接字拖死。
4、Linux如何實作線上磁盤擴容?
5、如何批量建立使用者,user01-user05,密碼為12位随機數?
6、同一個網卡綁定多個IP的方法?
7、使用Tcpdump分析通路量最高的IP?
8、Linux的資料同步方法有哪些,并描述如何實作?
9、如何産看目前系統的每個IP的連接配接數?如何産看mysql目前連接配接數?
10、統計Nginx通路最好的前5個IP的通路次數?
11、在業務中Nginx常用的配置有哪些?如何實作?
12、請說明Mysql資料備份,資料恢複方法?如何mysql啟動失敗,如何分析?
13、如何實作mysql安全管理?給user1添加隻能查詢db1.table1的查詢權限?
14、如何對tomcat進行性能優化?
15、如何進行批量部署,自動化更新?
16、使用shell寫一個定時資料備份腳本,并清除30天前的備份檔案。
17、使用shell寫一個定時檢查系統是否有可疑連接配接和程序的存在。
18、使用shell寫一個定期清理業務日志的腳本。
19、使用python把日志tomcat.log中有error的行,從其上5行開始到該error行,copy到新的檔案中。
20、伺服器出現不能通路的故障,應如何排查,說出你的思路。