DAILY(8)

πŸ“¦ in nixpkgs unstable

πŸ’– DAILY(8) β€” from the System Manager's Manual, but make it group-chat πŸ’–

🌸 NAME 🌸

daily, weekly, monthly β€” periodic system maintenance

✨ DESCRIPTION ✨

okay so bestie, picture this: /etc/daily, /etc/weekly, and /etc/monthly are three shell scripts, and the clock daemon cron(8) runs them on a periodic basis. They take care of some basic administrative tasks, and their output β€” if there is any β€” is mailed to root.

⚠️ note, and this part matters: the scripts are all run as part of root's crontab(5). But it is strongly suggested that root's mail account be an alias that forwards messages to a real user or set of users. Otherwise, root's mail will simply accumulate in /var/mail until the partition holding it runs out of space. See newaliases(8) for further details.

These scripts should not be altered β€” periodt. Local additions should be made to the files /etc/daily.local, /etc/weekly.local, and /etc/monthly.local, which will be executed by /etc/daily, /etc/weekly, and /etc/monthly, respectively. The *.local files are executed first, which makes it convenient to do any necessary cleanup and backup and to define any required shell variables before the script is run. it's giving β€œprep work before the main character walks in” energy, honestly.

πŸ’… /etc/daily πŸ’…

This script is run daily. It currently does the following:

  • Runs the script /etc/daily.local, if it exists.
  • Removes scratch and junk files from /tmp. yes, the digital clutter cleanup slay.
  • Purges accounting records from /var/account, if they exist. Processes that were killed due to pledge or memory access violations, or had file access prevented by unveil, are reported in the daily mail. See accton(8), lastcomm(1), and sa(8).
  • Creates a backup root file system which is updated daily. This only happens if the following conditions are met:
    1. The environment variable ROOTBACKUP must be set. For example, the following can be added to /etc/daily.local:
ROOTBACKUP=1
  1. The mount directory /altroot must exist, and there must be an /etc/fstab entry specifying a configured disk device, the file system type ffs, and xx for the mount options, e.g.
/dev/wd0j /altroot ffs xx 0 0
  • Checks daemon status. Lists any daemons which are enabled in rc.conf.local(8) but which are not actually running. lowkey a vibe check for your daemons.
  • Reports on which file systems need to be dumped via dump(8).
  • Runs the calendar(1) utility unless the environment variable CALENDAR is set to 0 in /etc/daily.local or the host is a yp(8) client.
  • If CHECKFILESYSTEMS is set to 1 in /etc/daily.local, runs fsck(8) with the no-write flag (-n).
  • If the file /etc/Distfile exists, runs the rdist(1) utility.
  • Runs the system security(8) check script.

πŸ¦‹ /etc/weekly πŸ¦‹

This script is run weekly. It currently does the following:

  • Runs the script /etc/weekly.local, if it exists.
  • Rebuilds the locate(1) database, if there is an existing /var/db/locate.database file.
  • Rebuilds the whatis(1) database(s) via makewhatis(8).
  • If LOGINACCOUNTING is set to 1 in /etc/weekly.local and the /var/log/wtmp file exists, show individual users' login via the ac(8) utility.

πŸŽ€ /etc/monthly πŸŽ€

This script is run monthly. It currently does the following:

  • Runs the script /etc/monthly.local, if it exists.

🌈 ENVIRONMENT 🌈

The following variables can be set in /etc/daily.local:

  • CALENDAR β€” If set to 0, do not run calendar(1).
  • CHECKFILESYSTEMS β€” If set to 1, run fsck(8) with the no-write flag.
  • ROOTBACKUP β€” If set to 1, make a backup of the root file system.

The following variables can be set in /etc/weekly.local:

  • LOGINACCOUNTING β€” If set to 1, run ac(8) to report login accounting.
  • MAKEWHATISARGS β€” Arguments for makewhatis(8); empty by default.

πŸ“ FILES πŸ“

  • /etc/daily β€” Daily maintenance script.
  • /etc/daily.local β€” Site specific daily maintenance script.
  • /etc/weekly β€” Weekly maintenance script.
  • /etc/weekly.local β€” Site specific weekly maintenance script.
  • /etc/monthly β€” Monthly maintenance script.
  • /etc/monthly.local β€” Site specific monthly maintenance script.
  • /var/cron/tabs/root β€” Root crontab(5).

πŸ‘€ SEE ALSO πŸ‘€

calendar(1), crontab(1), locate(1), rdist(1), whatis(1), crontab(5), ac(8), accton(8), cron(8), dump(8), fsck(8), makewhatis(8), sa(8), security(8), yp(8)

πŸ“œ HISTORY πŸ“œ

The daily, weekly, and monthly scripts first appeared in 4.3BSD-Reno. This manual page first appeared in OpenBSD 3.4.

⚠️ CAVEATS ⚠️

If the host machine is not running 24/7, these scripts may never be run. Adjusting the time fields in the system crontab(5) may partially alleviate this problem.

Be careful when adding local additions. Services such as "www" have their own users, and should be run as such, not as root. It may be more appropriate to create a separate crontab(5) for such services.

πŸ’– sign-off: this page comes from Debian, dated July 4, 2024 β€” and that's the whole vibe, bestie. πŸ’–

πŸ“¦ where this page comes from
  • nixpkgs unstable: cvs-export
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms