Hi,
I’m hitting a wall with a Nextcloud installation on a Plesk-based shared hosting environment and could use your expertise.
The Basics
I have a small nextcloud server for personal documents. I am the only user account on my server.
- Nextcloud Server version (e.g., 29.x.x):
34.0.2
- Operating system and version (e.g., Ubuntu 24.04):
Likely Ubuntu 22.04 or Debian 12, but hidden by hoster
- Web server and version (e.g, Apache 2.4.25):
likely Apache with nginx proxy
- Reverse proxy and version _(e.g. nginx 1.27.2)
none
- PHP version (e.g, 8.3):
8.3
- Is this the first time you’ve seen this error? (Yes / No):
Yes
- When did this problem seem to first start?
right after upgrade to 34.0.2, i was on latest 33.xx.xx
- Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
Manual via FTP
- Are you using CloudfIare, mod_security, or similar? (Yes / No)
No
Summary of the issue you are facing:
The Symptom
Since the latest update I installed yesterday (came from 33.0.7.1, now running 34.0.2) my Nextcloud cron job (/usr/local/php83/bin/php -f /path/to/cron.php) runs, but sporadically fails with the error:
sh: line 1: ps: command not found
I have never seen this before.
The Problem
Since ps is missing from the server entirely, any PHP code attempting to read process lists via shell execution fails.
What I’ve Investigated So Far
I’ve spent a lot of time isolating the issue and here is the current status:
- The Environment: The hosting environment simply does not have the
psbinary installed. It’s not a PATH issue;/bin/psand/usr/bin/psdo not exist. - Cron & Shell Work: Basic shell commands (
sleep,date) and PHP CLI execution work perfectly fine via Plesk cron. The cron mechanism itself is not broken. - The Trigger: The error only appears when
cron.phpis executed. Direct PHP tests confirm that while PHP runs, any attempt to callsystem("ps")(which some internal code seems to be doing) triggers the shell error because the binary is missing. - Not: I ruled out external suspects like Nextcloud integration for Home Assistant; the error persists even when they are disabled.
- Job Specificity: The error doesn’t happen on every cron run, suggesting a specific background job or a specific condition within Nextcloud is trying to call
ps. I suspect a monitoring app or a specific background job (likeUpdateStorageStats), but I haven’t been able to pinpoint the exact culprit.
My Question
Has anyone encountered this on restricted hosting environments where ps is unavailable?
- Is there a known Nextcloud app or core function that requires
psand fails hard if it’s missing? - Can I configure Nextcloud to skip those kind of checks/tasks?
- As I never had such an issue and my Nextcloud already runs quite some time, do I have to assume nextcloud is not that managed webhosting friendly anymore? And I’d be better of finding an alternative for smaller servers like mine?
- Do you recommend anything I did not thought of by now?
Log entries
The cron runs every 5 minutes without error notice, but notices arrived at mail (not only) but at:
1. **20:30:01** – `sh: line 1: ps: command not found`
2. **21:35:01** – `sh: line 1: ps: command not found`
3. **22:40:01** – `sh: line 1: ps: command not found`
4. about every hour and 5 minutes until now.
Nextcloud Background jobs which had run about the time the issue appeared:
| 109986389273427968 | OC\Core\BackgroundJobs\CleanupBackgroundJobs | 2026-07-24T20:40:02+00:00 | null |
| 27629 | OCA\DAV\BackgroundJob\FederatedCalendarPeriodicSyncJob | 2026-07-24T20:40:02+00:00 | null |
| 14024 | OCA\Files_Sharing\SharesReminderJob | 2026-07-24T20:40:02+00:00 | null |
| 327 | OCA\UpdateNotification\BackgroundJob\ResetToken | 2026-07-24T20:35:02+00:00 | null |
| 331 | OC\Core\BackgroundJobs\CleanupLoginFlowV2 | 2026-07-24T20:35:02+00:00 | null |
| 38 | OC\Log\Rotate | 2026-07-24T20:35:02+00:00 | null |
| 24 | OCA\Activity\BackgroundJob\DigestMail | 2026-07-24T20:30:02+00:00 | null |
| 17 | OCA\DAV\BackgroundJob\UpdateCalendarResourcesRoomsBackgroundJob | 2026-07-24T20:30:02+00:00 | null |
I ran a diagnosis test:
===== START Fri Jul 24 23:15:58 CEST 2026 =====
--- id ---
uid=31213(hosting100xxx) gid=1003(psacln) groups=1003(psacln)
--- pwd ---
/
--- PATH ---
/usr/bin:/bin
--- command -v ps ---
--- which ps ---
--- ls ps ---
ls: cannot access '/bin/ps': No such file or directory
ls: cannot access '/usr/bin/ps': No such file or directory
--- php ---
PHP 8.3.31 (cli) (built: Jun 10 2026 07:48:31) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.31, by Zend Technologies
--- env ---
HOME=/
LOGNAME=hosting100xxx
PATH=/usr/bin:/bin
PWD=/
SHELL=/bin/bash
SHLVL=0
USER=hosting100xxx
_=/usr/bin/env
--- NEXTCLOUD CRON ---
Starting job OCA\Notifications\BackgroundJob\SendNotificationMails (id: 13, arguments: null)
Job OCA\Notifications\BackgroundJob\SendNotificationMails (id: 13, arguments: null) done in 0.00 seconds
Starting job OCA\Activity\BackgroundJob\EmailNotification (id: 22, arguments: null)
Job OCA\Activity\BackgroundJob\EmailNotification (id: 22, arguments: null) done in 0.00 seconds
--- EXIT CODE ---
0
===== END Fri Jul 24 23:15:58 CEST 2026 =====
Web server / Reverse Proxy
The output of your Apache/nginx/system log in /var/log/____:
I couldn’t find this log, I think cause I am on managed webhosting.
PASTE HERE
Configuration
Nextcloud
bash-5.1$ /usr/local/php83/bin/php occ config:list system
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"cloud.domain.de"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "34.0.2.1",
"overwrite.cli.url": "https:\/\/cloud.domain.de",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"mail_smtpmode": "smtp",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_sendmailmode": "smtp",
"mail_smtpport": "465",
"mail_smtpsecure": "ssl",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"defaultapp": "",
"default_locale": "de_DE",
"default_phone_region": "DE",
"maintenance": false,
"trashbin_retention_obligation": "auto, 40",
"maintenance_window_start": 1,
"theme": "",
"opcache.interned_strings_buffer": "16",
"loglevel": 0,
"app_install_overwrite": [],
"updater.secret": "***REMOVED SENSITIVE VALUE***"
}
}
Apps
bash-5.1$ /usr/local/php83/bin/php occ app:list
Enabled:
- activity: 7.0.0
- app_api: 34.0.0
- appstore: 1.0.0
- bruteforcesettings: 7.0.0
- checksum: 2.1.2
- cloud_federation_api: 1.18.0
- comments: 1.24.0
- contactsinteraction: 1.15.0
- dav: 1.39.0
- federatedfilesharing: 1.24.0
- federation: 1.24.0
- files: 2.6.0
- files_downloadlimit: 5.2.0
- files_lock: 34.0.1
- files_pdfviewer: 7.0.0-dev.0
- files_reminders: 1.7.0
- files_sharing: 1.26.0
- files_trashbin: 1.24.0
- files_versions: 1.27.0
- forms: 5.3.5
- logreader: 7.0.0
- lookup_server_connector: 1.22.0
- notes: 6.0.1
- notifications: 7.0.0-dev.1
- oauth2: 1.22.0
- office: 1.0.0
- password_policy: 6.0.0-dev.0
- privacy: 6.0.0-dev.1
- profile: 1.3.0
- provisioning_api: 1.24.0
- related_resources: 5.0.0-dev.0
- serverinfo: 6.0.0
- settings: 1.17.0
- sharebymail: 1.24.0
- support: 6.0.0
- survey_client: 6.0.0-dev.0
- text: 8.0.0
- theming: 2.9.0
- twofactor_backupcodes: 1.23.0
- twofactor_totp: 16.0.0
- updatenotification: 1.24.0
- viewer: 7.0.0-dev.0
- webhook_listeners: 1.6.0
- workflowengine: 2.16.0
Disabled:
- admin_audit: 1.24.0
- circles: 34.0.0 (installed 29.0.0-dev)
- dashboard: 7.14.0 (installed 7.9.0)
- encryption: 2.22.0
- files_external: 1.26.0
- firstrunwizard: 7.0.0-dev.0 (installed 2.18.0)
- metadata: 0.23.0 (installed 0.23.0)
- nextcloud_announcements: 6.0.0 (installed 1.18.0)
- photos: 7.0.0 (installed 2.5.0)
- recommendations: 7.0.0 (installed 2.1.0)
- suspicious_login: 12.0.0-dev.0
- systemtags: 1.24.0 (installed 1.19.0)
- testing: 1.23.0
- twofactor_nextcloud_notification: 8.0.0
- user_ldap: 1.25.0
- user_status: 1.14.0 (installed 1.9.0)
- weather_status: 1.14.0 (installed 1.9.0)
Nextcloud
Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.
this is the newest log from today, I received the notification mail at 11:31am which is 9:31am on my server time. I figuered the emails arrive about 2 minutes late. So I gess if the log does show any hints, it should be in here. Its quite long, so I put it at the end of my post. I removed lines which were identical except for some line references.
edit: deleted the huge log…