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