PHP 8.5.2
Preview: apt-compat Size: 1.44 KB
/etc/cron.daily/apt-compat

#!/bin/sh

set -e

# Systemd systems use a systemd timer unit which is preferable to
# run. We want to randomize the apt update and unattended-upgrade
# runs as much as possible to avoid hitting the mirrors all at the
# same time. The systemd time is better at this than the fixed
# cron.daily time
if [ -d /run/systemd/system ]; then
    exit 0
fi

check_power()
{
    # laptop check, on_ac_power returns:
    #       0 (true)    System is on main power
    #       1 (false)   System is not on main power
    #       255 (false) Power status could not be determined
    # Desktop systems always return 255 it seems
    if command -v on_ac_power >/dev/null; then
        if on_ac_power; then
            :
        elif [ $? -eq 1 ]; then
            return 1
        fi
    fi
    return 0
}

# sleep for a random interval of time (default 30min)
# (some code taken from cron-apt, thanks)
random_sleep()
{
    RandomSleep=1800
    eval $(apt-config shell RandomSleep APT::Periodic::RandomSleep)
    if [ $RandomSleep -eq 0 ]; then
	return
    fi
    if [ -z "$RANDOM" ] ; then
        # A fix for shells that do not have this bash feature.
	RANDOM=$(( $(dd if=/dev/urandom bs=2 count=1 2> /dev/null | cksum | cut -d' ' -f1) % 32767 ))
    fi
    TIME=$(($RANDOM % $RandomSleep))
    sleep $TIME
}

# delay the job execution by a random amount of time
random_sleep

# ensure we don't do this on battery
check_power || exit 0

# run daily job
exec /usr/lib/apt/apt.systemd.daily

Directory Contents

Dirs: 0 × Files: 8

Name Size Perms Modified Actions
102 B lrw-r--r-- 2024-03-31 00:06:27
Edit Download
376 B lrwxr-xr-x 2025-07-08 14:50:50
Edit Download
1.44 KB lrwxr-xr-x 2024-03-22 10:11:44
Edit Download
253 B lrwxr-xr-x 2023-08-29 11:43:08
Edit Download
595 B lrwxr-xr-x 2020-02-25 13:42:28
Edit Download
123 B lrwxr-xr-x 2024-02-05 02:31:16
Edit Download
1.36 KB lrwxr-xr-x 2024-03-29 19:33:19
Edit Download
518 B lrwxr-xr-x 2024-01-09 20:31:44
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).