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 등을 사용하여 파일을 생성할 수 있는지 확인하고 파일에 무언가를 넣은 다음 해당 지점부터 문제를 추적할 수 있는지 확인하십시오.

업데이트: 질문을 업데이트했기 때문에 이것은 할당량 관련 문제인 것 같습니다. 실제로 할당량 관점에서 디렉터리는 0바이트를 차지하므로 할당량에 도달하더라도 원하는 만큼 디렉터리를 생성할 수 있습니다. 그러나 cron이 작동하려면 0이 아닌 파일을 생성해야 하며, 최대 할당량에 도달하면 확실히 차단됩니다.

답변2

루트 사용자에 대해 할당량 도구가 활성화된 이후에도 똑같은 문제가 발생했기 때문에 먼저 할당량을 모두 비활성화한 quotaoff -a다음 문제 없이 명령을 반복했습니다. 나중에 할당량을 수정하여 더 이상 문제가 되지 않게 되었습니다.

관련 정보