テンポラリファイル1に書き込み
テンポラリファイル2に書き込み
ロック
元のファイルを別名にリネームして、テンポラリファイル1をリネーム
元のファイルを別名にリネームして、テンポラリファイル2をリネーム
アンロック

の方が、オリジナルファイルに対するファイル操作時間が少なくてオススメ。
もしテンポラリファイルの書き込み途中でスクリプトが kill されてても、
所詮はテンポラリファイルなのでオリジナルのファイルには影響無い。

テンポラリファイルは1時間とかそれ以上の時間があるものなら削除するようにすれば OK。