crontabコマンドで一時ディレクトリを作成できません

crontabコマンドで一時ディレクトリを作成できません

両方の仮想マシンで、コマンドはcrontab -eディレクトリの作成に失敗しましたが/tmp機能しますmkdir

/tmp/crontab.oxyaBy: Input/output error
Creation of temporary crontab file failed - aborting

トレース出力:

root@vm:~# strace crontab -e
mkdir("/tmp/crontab.1SuJe9", 0700)      = -1 EIO (Input/output error)

root@vm:~# strace mkdir /tmp/crontab.1SuJe9 -m 700
mkdir("/tmp/crontab.1SuJe9", 0700)      = 0

どちらの仮想マシンもUbuntu 16.04.6 LTS(4.4.0-173-generic x86_64)を実行しています。

問題は毎回繰り返され、再起動後も問題が解決し、fsckはすべてが正常であり、このVMに他の問題がないと言います。 cronパッケージを再インストールしてみましたが、何も変更されませんでした。

どんなアイデアがありますか?ありがとうございます!

編集する: dmesgプログラム

EXT4-fs (dm-0): Quota write (off=4080, len=40) cancelled because not block aligned
Quota error (device dm-0): v1_commit_dqblk: dquota write failed

コマンドはcrontab機能しますquotaoffが、まだ理由を知りたいです。別の方法で動作しますcrontab...mkdir

ベストアンサー1

これはファイルシステムの問題です。そして、ディレクトリの作成はファイルの作成とは異なります。

通話ユーザーのクォータ設定を確認してください。

また、同じユーザーがechoやcatなどを使用してファイルを生成できることを確認し、ファイルに何かを配置し、その時点から問題を追跡できることを確認してください。

更新:質問を更新したため、これはクォータ関連の問題のようです。実際には、クォータの観点からディレクトリはゼロバイトを占めるため、クォータに達しても必要に応じてディレクトリを作成できます。ただし、cronが機能するにはゼロ以外のファイルを生成する必要があり、最大クォータに達すると確実にブロックされます。

おすすめ記事