# ownCloud Administrators Manual

# Driving Events with Cron

## Introduction

ownCloud is written in PHP, and because PHP is a request driven language – in other words it runs only when a client takes an action and calls php, and then it executes and ends – it does not have a built in CRON process. Instead, ownCloud provides `cron.php`, which is called by the server’s CRON daemon. `cron.php` is an ownCloud internal process that runs various background jobs on demand. It is called by the server cron, and can be set by the administrator.

ownCloud plug-in applications register actions with `cron.php` automatically to take care of typical housekeeping operations, such as garbage collecting of temporary files or checking for newly updated files using `filescan()` for externally mounted file systems.

## Usage

The interval at which this script is executed, and thus the ownCloud registered actions, can depend on the size of the installation and the load of the system. Recommended intervals are 15 or 30 minutes.

Cron.php needs to be called by the system’s cron daemon and run as the same user the web server runs as.

As an example, on an ordinary Linux distribution, place the following in the web server’s user’s crontab:

    */15 * * * * /usr/bin/php -f /srv/http/owncloud/cron.php /dev/null 2>&1

This will run `cron.php` every 15 minutes and suppress any warnings or output which may be generated.