Opening the crontab editor:
crontab -eSuggested command line:
00 05 * * * cd /home/USER/docker && /usr/bin/docker compose exec -T postgresql pg_dumpall -U postroot | gzip > ../backups/databases/postgres-$(date +\%Y-\%m-\%d-\%H-\%M-\%S).sql.gz; find /home/USER/backups/databases/ -name "postgres-*.sql.gz" -mtime +7 -deleteDetails:
00 05 * * * - cron schedule, in this case daily, at 5 AM
cd /home/USER/docker - accesses the folder where the docker container is running
/usr/bin/docker compose exec -T CONTAINERNAME pg_dumpall -U ROOTUSER
gzip > ../backups/databases/postgres-$(date +\%Y-\%m-\%d-\%H-\%M-\%S).sql.gz - stores the dump in sql.gz
find /home/USER/backups/databases/ -name "postgres-*.sql.gz" -mtime +7 -delete - deletes old files after 7 days