标签
Linux目錄明明很大卻算不出來?du別只看星號展開的檔案
網站目錄佔了不少空間,跑du -sh ./*卻只看到幾個小目錄?先別認定du算錯。在一般Bash設定下,星號展開不會包含名稱以點開頭的項目;像.cache、.g...
Linux排程上一輪還沒跑完?用flock避免工作重疊
匯入資料每分鐘啟動一次,但某一輪花了兩分鐘,下一輪又開始寫同一批檔案。排程準時啟動,不代表上一輪已經結束。若工作不能重疊,可以用Linux的flock把同一項工...
Linux shell變數在子程序不見:assignment與export
在終端設了變數,接著啟動腳本卻讀不到,常見原因是你只做了shell變數賦值,沒有把它放進子程序的環境。assignment與export各有作用:前者讓目前sh...
Linux curl遇到404仍回傳成功:傳輸成功與HTTP失敗怎麼分
排程用curl下載API資料,伺服器明明回傳404,後面的工作卻照常執行。先別急著把錯誤歸到shell:curl預設把「完成HTTP交換」視為成功,資源不存在則...
Linux awk用逗號切CSV欄位錯位:引號裡的逗號怎麼辦
把商品CSV交給awk -F,,第二欄本來應是Coffee, milk,結果只剩Coffee,後面的狀態也往後移。問題不是文字編碼,而是你用每個逗號切欄位,沒有...
Linux find找一天前檔案不如預期:mtime怎麼算整天
想找一天前改過的檔案,寫了find -mtime +1,結果前天的有列出,昨天晚上的卻沒有。先分清你說的「一天前」是超過二十四小時,還是日曆上的昨天。GNU f...
Linux檔名含空白就找不到:shell變數為何要加引號
上傳檔案明明存在,shell腳本卻說找不到。檔名叫site notes.txt,變數也印出正確路徑;真正送進命令時,空白把它拆成兩個參數。對一個已存好的檔案路徑...
Linux grep沒找到就讓腳本中斷:分清退出碼1與2
部署檢查腳本要從紀錄找出ready,找到了就繼續,沒有找到就回報仍在等待。你加了set -e,希望命令出錯時停下來,卻發現紀錄沒有那一行,整支腳本就結束。檔案其...
Linux日誌輪替後tail沒更新:分清-f與-F
網站出錯時開著tail -f看日誌,畫面卻突然沒有新行;稍後打開app.log,又發現紀錄其實一直在增加。先別急著重啟網站。日誌可能已經輪替,眼前的tail還跟...
Linux檔案權限看似正確卻開不了:逐層檢查目錄權限
檔案已經是644,網站程序卻讀不到,先看完整路徑上的目錄。Linux要找到檔案,通常得先穿過每一層目錄;檔案可讀,不代表執行帳號有權搜尋它的所有父目錄。 目錄的...
Linux排程手動成功卻沒跑:環境變數與工作目錄怎麼查
終端機手動執行成功,排程卻沒有產出檔案,先別不停重加同一條cron。互動式shell裡已有的PATH、變數與目前目錄,排程執行時未必相同;命令可能根本找不到,或...
Linux硬碟看起來還有空間卻不能寫:查inode與已刪開啟檔
網站上傳失敗,訊息說「No space left on device」,但df看起來還有容量。先不要刪一批不認識的檔案:可能是inode已用完,也可能看錯了檔案...
- 1
- 2
