Shell-Script
如何在 RAM 中製作臨時文件?
我有一個腳本,它將輸出到
|tee scriptnameYYMMDD.txt
. 在生成輸出的 for 循環的每個循環之後,我將反轉文件內容,tac scriptnameYYYYMMDD.txt > /var/www/html/logs/scriptname.txt
以便日誌輸出在瀏覽器視窗中可見,最新的行位於頂部。我將有幾個腳本並行執行此操作。我正在嘗試最小化磁碟活動,因此
|tee scriptnameYYYYMMDD.txt
最好從 RAMdisk 輸出。mktemp
在文件夾中創建一個文件/tmp
,但這似乎不是磁碟外的。
您可以掛載一個
tmpfs
分區並將文件寫入那裡:mount -t tmpfs -o size=500m tmpfs /mountpoint
此分區現在限制為 500 MB。如果您的臨時文件大於 500 MB,則會出現錯誤:
no space left on device
. 但是,當您指定比系統 RAM 更大的空間時,這並不重要。tmpfs
也使用交換空間,因此您不能強制系統崩潰,而不是ramfs
.您現在可以將文件寫入
/mountpoint
:command | tee /mountpoint/scriptnameYYYYMMDD.txt