簡體   English   中英

Shell 腳本每 24 小時失敗一次,並出現錯誤 /bin/mkdir: Argument list too long

[英]Shell script fails for every 24 hours with error /bin/mkdir: Argument list too long

我有一個 shell 腳本,該腳本需要 24*7 全天候在后台運行,但它每 24 小時失敗一次,並出現錯誤: /bin/mkdir: Argument list too long 作為一種解決方法,我將在后台重新運行腳本並運行 24 小時,然后再次失敗並出現相同的錯誤。

當我說它運行 24 小時意味着,此腳本每 30 分鍾觸發一次並且它成功完成,這將持續 24 小時,然后它失敗,然后它不會運行。 在這里我必須手動重新啟動腳本,然后它運行 24 小時並失敗。>

對於成功和失敗運行,dir_path 值相同。

為了解決這個問題,我修改了我的代碼以創建 mkdir 命令:

echo ${dir_path} | xargs mkdir -p >> ${log_path}/${log_file} 2>&1

但沒有運氣。

任何輸入或想法都會有所幫助。

使用 xargs 時很難出現該錯誤。 如果可以的話,它應該可以保護您免受此錯誤的影響。 但是,如果您用數據填充整個環境,那么即使是單個 mkdir 調用也沒有空間。 都滿了,系統除了給你一個錯誤別無選擇。

導出的變量計入您的參數列表大小。

我認為正在發生的事情是您正在使用“export var=something”將數據放入您的環境中。 這些數據隨着時間的推移而增長。 也許它是一個數組?

您可以使用它來調試您的尺寸:

echo | xargs --show-limits

這只是一個猜測。 我無法確定您是否沒有共享所有代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM