1.. _imap-admin-quotas:
2
3======
4Quotas
5======
6
7Cyrus IMAP features a flexible Quota scheme with support for limiting
8various resources, such as storage or number of folders or messages.
9
10.. toctree::
11    :maxdepth: 1
12    :glob:
13
14    quotas/*
15
16.. _imap-admin-quotas-repair:
17
18Monitor and Repair
19==================
20
21Quotas may be monitored and repaired via the :cyrusman:`quota(8)`
22command:
23
24    * :ref:`imap-reference-manpages-systemcommands-quota`
25
26.. _imap-admin-quotas-config:
27
28Controlling Quota Behavior
29==========================
30
31How restrictive quotas will be may be tailored to the needs of different
32sites, via the use of several settings in :cyrusman:`imapd.conf(5)`:
33
34    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
35        :start-after: startblob lmtp_over_quota_perm_failure
36        :end-before: endblob lmtp_over_quota_perm_failure
37
38
39    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
40        :start-after: startblob lmtp_strict_quota
41        :end-before: endblob lmtp_strict_quota
42
43
44    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
45        :start-after: startblob quotawarn
46        :end-before: endblob quotawarn
47
48
49    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
50        :start-after: startblob quotawarnkb
51        :end-before: endblob quotawarnkb
52
53
54    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
55        :start-after: startblob quotawarnmsg
56        :end-before: endblob quotawarnmsg
57
58
59    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
60        :start-after: startblob autocreate_quota
61        :end-before: endblob autocreate_quota
62
63
64    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
65        :start-after: startblob autocreate_quota_messages
66        :end-before: endblob autocreate_quota_messages
67
68.. _imap-admin-quotas-database:
69
70Quota Database
71==============
72
73Quota information is stored either in a database (i.e. twoskip,
74skiplist) or in "quotalegacy" format, which is a filesystem hierarchy.
75This is controlled by the ``quota_db`` setting in
76:cyrusman:`imapd.conf(5)`.  Here's more about the pertinent settings:
77
78    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
79        :start-after: startblob quota_db
80        :end-before: endblob quota_db
81
82    .. include:: /imap/reference/manpages/configs/imapd.conf.rst
83        :start-after: startblob quota_db_path
84        :end-before: endblob quota_db_path
85
86.. _imap-admin-quotas-convert-db:
87
88Converting Quotas Database
89==========================
90
91The :cyrusman:`cvt_cyrusdb(8)` utility may be used to convert between
92formats.  It's usage with ``quotalegacy`` is a special case, in that
93the first argument ("<old db>") will be the path to the *base* of the
94``quotalegacy`` directory structure, not to a particular file.
95
96For example, given this typical layout:
97
98::
99
100    /var/lib/imap/
101    |            /quota/
102    |                  /A/
103    |                    /user/
104    |                         /bob/
105
106The proper ``cvt_cyrusdb`` command would be:
107
108::
109
110    cvt_cyrusdb /var/lib/imap/quota quotalegacy /var/lib/imap/quotas.db twoskip
111
112.. _imap-admin-quotas-end:
113
114Back to :ref:`imap-admin`
115