Shell-Script

如何在 RAM 中製作臨時文件?

  • October 24, 2017

我有一個腳本,它將輸出到|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

引用自:https://unix.stackexchange.com/questions/188536