發表文章

目前顯示的是 2022的文章

Linux FAQ : 系統重啟時間分析

圖片
  系統重啟時間分析 How long is system boot spend  ?  參考 : Time it takes to reboot a Linux server Is there a way to see the execution tree of systemd? systemd-analyze ( 大略需要時間 ) 啟動 systemd 後上次啟動花費了多少時間。 這沒有考慮 BIOS/硬件初始化或 GRUB 超時, 但對於實際的操作系統啟動時間應該是準確的 systemd-analyze blame ( 解析 )

Linux FAQ : create or change user setting

圖片
  建立帳號與修改 參考 : https://www.golinuxcloud.com/check-last-password-change-expiration-linux/ 密碼 換密碼 passwd root : passwd 帳號 查看密碼最後調整日期 chage -l 帳號 密碼複雜度 https://www.2daygeek.com/how-to-set-password-complexity-policy-on-linux/ 批次修改用戶 密碼 chpasswd 參考 : https://www.cnblogs.com/souhaite/p/10585585.html echo 帳號:密碼 | chpasswd

Linux FAQ : 內存 排查 介紹

  內存 參考 : https://www.itread01.com/content/1547590715.html 簡介 : https://binaryterms.com/swapping-in-operating-system.html http://blog.is36.com/tag/linux/ linux在終端環境下可以使用 free 命令看到系統實際使用內存的情況, 一般用free -m方式查看內存佔用情況(兆為單位)。 而系統實際可用內存是不是free部分呢,不是的, 系統實際內存佔用以及可用內存有如下幾個加減法: used=total-free  即  total=used+free 實際內存佔用: used-buffers-cached  即  total-free-buffers-cached 實際可用內存: buffers+cached+free Linux 查看正在吃 swap 的程式 參考 : https://blog.longwin.com.tw/2017/02/linux-find-use-swap-process-2017/ https://www.cyberciti.biz/faq/linux-which-process-is-using-swap/ ps -eo vsz,rss,pid,args | 排序 -n 第一列是虛擬內存使用情況,也稱為交換,具體取決於您選擇的定義... #一行查看方式 for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file ; done | sort -k 2 -n -r | less #pmap pmap -x pid | tail -n 1 |awk '{print $5}'

Linux FAQ : iptables 介紹

  防火牆設定 iptables 參考 : ( https://www.cyberciti.biz/faq/linux-disable-firewall-command/) iptables 指令入門 - Linux 技術手札 Linux的iptables防火牆設定記事 iptables 的安裝與設定 iptables實用知識 ,一文學會配置linux防火牆 CentOS 7 關閉防火牆及 SELinux - Linux 技術手札 What can be the reasons of connection refused errors? https://www.quora.com/How-do-you-open-port-80-on-Linux iptables 可以設定主機 ip 白名單與黑名單 限制來源提升安全性 port 也可以做設定 查看 : iptables -L 規則 先後順序 : 先設定有優先級 範例 : 先開通 10.40.40.20 port 80 , 在封鎖 10.40.40.20 網段 10.40.40.20 port 80 還是可以通 先封鎖 10.40.40.20 網段 , 在開通 port 80 10.40.40.20 port 80 被擋住 設定 : 開啟 22 port : iptables -A INPUT -i ens192 -p tcp -s 10.40.53.191 --dport 22 -j ACCEPT 開通 測試可以直接輸入指令 不用重啟防火牆 process 沒有 pid 參考 : How to identify a process which has no pid? netstat -antlp | grep 45136 ss -apn|grep :111 netstat --program --numeric-hosts --numeric-ports --extend find -inum 152555007

Linux FAQ : crontab 介紹

圖片
  排程 crontab 簡介 參考 :  https://ubuntuqa.com/zh-tw/article/10392.html 設定一個定時啟動程序 簡介 情境 : 寫一支一直檢查 系統狀況程序 然後想設定 何時才檢查 那麼可以用 Linux 提供的設置 crontab 登入 用戶後 輸入 crontab -e ( 預設是 vi 編輯器 ) 開始編輯吧 常用 crontab -l 查看自己的 crontab crontab -u 名稱 -l 顯示特定使用者 crontab crontab -e 編輯 crontab crontab -u 名稱 -e 編輯特定使用者 crontab crontab -r 刪除全部的 crontab 範例 #every 3 minute run abc015 */3 * * * * . /u1/etc/chenv 2; sh abc015 >>/u1/123/app/4xx/abc015_log.log 2>&1 #日期寫log "/u1/123/app/4xx/ $(date +"\%Y\%m\%d") _abc015.log" 2>&1 #每小時執行程式 * */1 * * * . /u1/etc/chenv 2; sh abc022 >> "/u6/123/sync_tmp/abc022_log/ $(date +"\%Y\%m\%d") _abc022.log" 2>&1 注意事項 Linux 排程也不能設定太多 要根據系統負載 評估 主要是因為 Linux 啟動排程是呼叫 watch dog 來帶起程序 如太多 會在同一時間看到 有 一堆 watch dog 系統資源太低 很容易造成 整個 Linux 卡頓 watch dog 其他設定介紹 排程更新 ex - /var/spool/cron/root <<%% a */1 * * * * sh /u3/bin/abc.sh . wq! %% 排程執行目錄 登入 root 查看 /var/log/cron 搜尋想找的程序名稱 , 會看到幾點有運行 除了⼀般使⽤

Linux FAQ : 常見字串處理 介紹

  字串處理介紹 cut 取出部分字串 從一列取出一部分 cut -c2 dataf1 抽出 dataf1 每一列出現的 第 2 個字元 cut -c3-10 data1 抽出 data1 每一列 3 到 10 字元 cut -c9- data1 每一列 從 9 之後全部字元 cut -1-3,22 data1 每一列 1 到 3 字元 , 與 22 以後全部字元 cut -d: -f1 /etc/data1 找出 data1 第一欄位 , -d: 用 : 分隔符 , -f1 第一欄 cut -d: -f3,4 /etc/data1 找出 data1 第 3 和 4 欄位 sort 排序 sort data1 升冪 ( 由大到小 ) sort -r data1 降冪 ( 由小到大 ) sort -n data1 用數值比較 sort -n +2 data1 跳過前兩欄 用數值比較 sort -nr +2 -t: data1 -t: 用 : 分隔符號區分 wc 計算字串長度 wc wc -l dataf1 顯示檔案內共有幾列 wc -c file 顯示共有多少字元 wc -w file 顯示共有多少單字

Linux FAQ : 啟動異常 , 進入 emergency mode 維護模式修正

圖片
Linux FAQ :  啟動異常 , 進入 emergency mode 維護模式修正 emergency mode 維護模式 FAQ 啟動異常 , 進入維護模式修正 案例 1. pquota 寫成 pgouta 無法正常開機 搜尋看 journal 日誌 錯誤訊息 檢查看 /boot 如沒有 /boot 可以嘗試看 建立 mkdir /boot 查看 /boot mount 型態 : mount | grep boot 執行 : mount -t xfs /dev/sda1 /boot grep -r 'pguota' 發現是 /boot/grub2 檔案 grub.conf , grubenv 把 pguota 改成 pquota 接著存檔後重啟

冒險者 1-4 part 2

圖片
第七話 炎熱對決 上集提要 支援軍透過一系列 配合 , 成功壓制 工廠 守軍 ,  路克 與 工頭 也在一對一 單挑 中 ,  獲得優勢 , 沙漠天龍與魔獸工廠 長久戰爭 就要在此畫下句點 迎來和平 p1 p2 p3 ( 路克 發現 工頭 招式怎麼使用 ) p4 ( 仿效 工頭 招式並藉此反擊 ) p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 下集預告 :  宴會 進入第二章 決戰森  

冒險者 1-4 part 1

圖片
1-4 第六話 砲擊 上集提要 沙漠天龍 支援軍與 魔獸工廠 守軍 展開交戰 ,  逐漸陷入劣勢 , 工廠 強力守軍 ,  三刺客 與 工頭 不斷以實力壓制 , 此時轉機看來已到 , 因為 路克 再度登場   p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 下集預告 : 炎熱對決

Linux FAQ : 刪除各種檔案

圖片
  刪除各種檔案 參考 : https://blog.longwin.com.tw/2016/12/linux-delete-many-files-quick-2016/ https://kknews.cc/zh-tw/code/o38nvn5.html https://yonglhuang.com/rm-file/ https://www.baeldung.com/linux/delete-large-directory https://juejin.cn/post/6844903766366371854 https://www.firbug.com/a/202106/216584.html <檔案要清理 第一步先找出檔名> 檔案名稱有空格 範例 : azzi000 648116.tmp step 1 : find . -name '* *' step 2 : find . -name '* *' | awk -F / '{print "\""$2"\""}' step 3 : find . -name '* *' | awk -F / '{print "\""$2"\""}' | xargs rm -f <Linux 清理檔案沒釋放空間> 參考 : https://access.redhat.com/solutions/2316 https://unix.stackexchange.com/questions/68523/find-and-remove-large-files-that-are-open-but-have-been-deleted https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage 可以用 lsof 檢查已清理 程序卻卡住 process lsof | grep deleted