alxwolf / ubios-cert

Manage SSL / TLS certificates with acme.sh (Let's Encrypt, ZeroSSL) for Ubiquiti UbiOS firmwares
MIT License
170 stars 20 forks source link

./ubios-cert.sh: line 140: /etc/init.d/cron: not found - Error on UDM (UniFi OS Version 1.12.30) #26

Closed ndbroadbent closed 1 year ago

ndbroadbent commented 1 year ago

Hi, I followed the instructions in the README, but the ./ubios-cert.sh initial command is crashing with this error:

# cd /mnt/data
# ls -la
total 68
drwxr-xr-x   15 root     root          4096 Nov 17 13:15 .
drwxr-xr-x    4 root     root            45 Sep  9 13:26 ..
drwxr-xr-x    6 root     root          4096 Nov 13  2019 crash-data
drwxr-xr-x   74 root     root          4096 Nov 17 13:14 dpi-tracer
drwxr-xr-x    3 root     root          4096 Nov 17 13:15 log
drwx------    2 root     root         16384 Aug 19  2019 lost+found
drwx------    3 root     root          4096 Dec 20  2021 podman
drwxr-xr-x    2 root     root          4096 Dec 20  2021 ssh
drwxr-xr-x    3 root     root          4096 Nov 17 13:11 system
drwxr-xr--    2 root     root          4096 Oct 17 15:14 traces
drwxrwxrwx    4 root     root          4096 Nov 17 13:15 ubios-cert
drwxr-xr-x    4 root     root          4096 Nov 17 13:01 udapi-config
drwxr-xr-x    2 root     root          4096 Dec 20  2021 ui-db
drwxr-xr-x    3 root     root          4096 Nov 13  2019 unifi-management-portal
drwxr-xr-x    7 root     root          4096 Dec 20  2021 unifi-os
# cd ubios-cert/
# ls -l
total 20
drwxr-xr-x    6 root     root          4096 Nov 17 13:15 acme.sh
drwxrwxrwx    2 root     root          4096 Nov 17 13:12 on_boot.d
-rw-r--r--    1 root     root          2691 Nov 17 13:14 ubios-cert.env
-rwxr-xr-x    1 root     root          7883 Nov 17 13:12 ubios-cert.sh
# ./ubios-cert.sh initial
Adjusted permissions for 'acme.sh'
./ubios-cert.sh: line 140: /etc/init.d/cron: not found
#

I noticed I do have a /etc/init.d/crond file though.

# cat /etc/init.d/crond
#!/bin/sh

[ -f /etc/default/dcron ] && . /etc/default/dcron # sets ${CROND_ARGS}

mkdir -p /var/spool/cron/crontabs /var/spool/cron/cronstamps

case "$1" in
    start)
        printf "Starting cron ... "
        start-stop-daemon -S -q -m -b -p /var/run/dcron.pid --exec /usr/sbin/crond -- -f ${CROND_ARGS}
        echo "done."
        ;;
    stop)
        printf "Stopping cron ..."
        start-stop-daemon -K -q -p /var/run/dcron.pid
        echo "done."
        ;;
    restart)
        $0 stop
        sleep 1
        $0 start
        ;;
    reload)
        cron_file="${2}"
        [ -z "${cron_file}" ] && {
            echo "Parameter 'cron_file' required" >&2
            echo "Example: $0 reload /etc/cron.d/cronfile" >&2
            exit 1
        }
        basename "${cron_file}" >> /etc/cron.d/cron.update
        ;;
    *)
        echo "usage: $0 {start|stop|restart|reload [cron_file]}"
        ;;
esac
ndbroadbent commented 1 year ago

ubnt-device-info model returns: UniFi Dream Machine

# ubnt-device-info summary
Device information summary:
        Subsystem ID: ea11
              Family: UniFi Dream Machine (UDM)
               Model: UniFi Dream Machine (UDM)
 Default MAC address: **:**:**:**:**:**
Default IPv4 address: 127.0.0.1
            Firmware: 1.12.30 (1.12.30)

But I'll push a PR to fix this just by checking for the presence of files in /etc/init.d, that will be easier