9.2.3. Keeping Quotas Accurate
Whenever a file system is not unmounted cleanly (due to a system crash, for example), it is necessary to run quotacheck. However, quotacheck can be run on a regular basis, even if the system has not crashed. Safe methods for periodically running
quotacheck
include:
- Ensuring quotacheck runs on next reboot
Note
This method works best for (busy) multiuser systems which are periodically rebooted.As root, place a shell script into the/etc/cron.daily/
or/etc/cron.weekly/
directory—or schedule one using thecrontab -e
command—that contains thetouch /forcequotacheck
command. This creates an emptyforcequotacheck
file in the root directory, which the system init script looks for at boot time. If it is found, the init script runsquotacheck
. Afterward, the init script removes the/forcequotacheck
file; thus, scheduling this file to be created periodically withcron
ensures thatquotacheck
is run during the next reboot.Refer to Chapter 39, Automated Tasks for more information about configuringcron
.- Running quotacheck in single user mode
- An alternative way to safely run
quotacheck
is to (re-)boot the system into single-user mode to prevent the possibility of data corruption in quota files and run:~]# quotaoff -vaug /<file_system> ~]# quotacheck -vaug /<file_system> ~]# quotaon -vaug /<file_system>
- Running quotacheck on a running system
- If necessary, it is possible to run
quotacheck
on a machine during a time when no users are logged in, and thus have no open files on the file system being checked. Run the commandquotacheck -vaug <file_system>
; this command will fail ifquotacheck
cannot remount the given <file_system> as read-only. Note that, following the check, the file system will be remounted read-write.Important
Runningquotacheck
on a live file system mounted read-write is not recommended due to the possibility of quota file corruption.
Refer to Chapter 39, Automated Tasks for more information about configuring
cron
.