sync コマンドは、メモリ上のバッファ(キャッシュ)にあるデータをディスクに強制的に書き込むためのコマンドです。
システム停止や電源断の前に、書き込み忘れを防ぐために利用されます。
構文(Syntax)
sync [オプション] [FILE...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | すべてのファイルシステムのキャッシュをフラッシュ | sync |
FILE | 指定したファイルやディレクトリを対象にフラッシュ | sync /var/log/syslog |
-d | ファイルのメタデータのみ同期 | sync -d /etc/passwd |
実行例
すべてのキャッシュを書き込む
sync
(出力はありませんが、カーネルが全キャッシュをディスクに反映します)
特定のファイルを同期
sync /var/log/syslog
(ログファイルのキャッシュがストレージに書き込まれます)
メタデータのみ同期
sync -d /etc/passwd
(/etc/passwd の更新時刻などがディスクに反映されます)
エラー例(存在しないファイルを指定)
sync notfound.txt
出力例:
sync: failed to sync notfound.txt: No such file or directory
関連コマンド
sync(2): システムコール。syncコマンドはこれを呼び出す。fsync: 特定ファイル記述子を対象に同期するシステムコール。shutdown: システム停止前に内部でsyncを実行。
備考
- GNU coreutils の一部として提供されます。
- 通常は
shutdownやrebootが内部で自動的に呼び出すため、ユーザーが手動で使う機会は少ないです。 - 大規模なファイルシステムでは
sync実行に時間がかかる場合があります。
参考
- manページ: https://man7.org/linux/man-pages/man1/sync.1.html
- GNU Coreutils公式: https://www.gnu.org/software/coreutils/

コメント