DE EN IT

~/cheat-sheets / occ

Nextcloud occ cheat sheet

Field-tested occ commands for running Nextcloud – searchable and copyable in one click. Run them from the Nextcloud directory, e.g. /var/www/nextcloud.

35 commands

Maintenance & updates

  • Show version, install state and maintenance mode

    sudo -u www-data php occ status
  • Enable maintenance mode (locks out users)

    sudo -u www-data php occ maintenance:mode --on
  • Disable maintenance mode

    sudo -u www-data php occ maintenance:mode --off
  • Finish an upgrade after replacing the code files

    sudo -u www-data php occ upgrade
  • Run repair steps (mimetypes, caches and more)

    sudo -u www-data php occ maintenance:repair
  • Verify core file integrity against signatures

    sudo -u www-data php occ integrity:check-core

Files, trash bin & versions

  • Rescan the file system for all users

    sudo -u www-data php occ files:scan --all
  • Rescan files of a single user

    sudo -u www-data php occ files:scan USER
  • Rescan only one folder (faster)

    sudo -u www-data php occ files:scan --path="/USER/files/FOLDER"
  • Rescan the appdata folder (e.g. previews)

    sudo -u www-data php occ files:scan-app-data
  • Remove orphaned entries from the file cache

    sudo -u www-data php occ files:cleanup
  • Permanently empty the trash bin of all users

    sudo -u www-data php occ trashbin:cleanup --all-users
    ⚠ Careful: changes or deletes data
  • Delete trash bin files past the retention policy

    sudo -u www-data php occ trashbin:expire
    ⚠ Careful: changes or deletes data
  • Delete all file versions of all users

    sudo -u www-data php occ versions:cleanup
    ⚠ Careful: changes or deletes data

Users & groups

  • List all users

    sudo -u www-data php occ user:list
  • Show user details (quota, groups, last login)

    sudo -u www-data php occ user:info USER
  • Create a user and add to a group (prompts for password)

    sudo -u www-data php occ user:add --display-name="Max Mustermann" --group="staff" USER
  • Reset a user's password

    sudo -u www-data php occ user:resetpassword USER
  • Disable a user (data is kept)

    sudo -u www-data php occ user:disable USER
  • Delete a user including all files

    sudo -u www-data php occ user:delete USER
    ⚠ Careful: changes or deletes data
  • Show a user's last login

    sudo -u www-data php occ user:lastseen USER
  • Add a user to a group

    sudo -u www-data php occ group:adduser GROUP USER

Apps

  • List enabled and disabled apps with versions

    sudo -u www-data php occ app:list
  • Enable an app

    sudo -u www-data php occ app:enable APP
  • Disable an app (e.g. after a broken update)

    sudo -u www-data php occ app:disable APP
  • Update all apps to the latest version

    sudo -u www-data php occ app:update --all

Database, cron & config

  • Add missing database indices (admin overview warning)

    sudo -u www-data php occ db:add-missing-indices
  • Switch background jobs to system cron

    sudo -u www-data php occ background:cron
  • Show trusted domains

    sudo -u www-data php occ config:system:get trusted_domains
  • Add a domain as index 2 to trusted_domains

    sudo -u www-data php occ config:system:set trusted_domains 2 --value="cloud.example.com"
  • Set log level to warning (0=debug … 4=fatal)

    sudo -u www-data php occ config:system:set loglevel --value=2 --type=integer

Security & logs

  • Show server-side encryption status

    sudo -u www-data php occ encryption:status
  • Show 2FA state and providers of a user

    sudo -u www-data php occ twofactorauth:state USER
  • Disable TOTP 2FA for a user (lost device)

    sudo -u www-data php occ twofactorauth:disable USER totp
    ⚠ Careful: changes or deletes data
  • Show the last 100 log entries (logreader app)

    sudo -u www-data php occ log:tail 100

New articles by e-mail

One e-mail per new article. No tracking, unsubscribe any time. As a thank-you after confirming: my “Server operations & patching” checklist (PDF).