The dependable way to back up websites on a Linux VPS to Dropbox is to create complete, dated backup sets locally, then upload those archives with rclone. A useful set contains each document root, database dumps, deployment files, and the web-server/application configuration required to rebuild the site. Encrypt sensitive archives before upload, verify the remote copy, retain several recovery points, and test a restore on a separate VPS.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
This guide gives a headless-server setup, a production-oriented wrapper script, scheduling options, retention guidance, and restore procedures. It treats Dropbox as off-site backup storage rather than as a live filesystem mirror.
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →What the backup should accomplish
A website backup is useful only if it can rebuild the service after deletion, corruption, a failed deployment, or loss of the VPS. Copying a directory to Dropbox is not enough when the site also depends on a database, virtual-host definitions, PHP or application settings, certificates, deployment artifacts, and correct ownership.
The recommended flow is:
- Dump every database using its consistent-dump option.
- Collect document roots, uploads, deployment files, and the configuration needed to serve the sites.
- Build a dated archive in a temporary directory.
- Encrypt the archive locally when it contains sensitive information.
- Upload it to a dated Dropbox directory with rclone.
- Check the upload and record a manifest containing the archive name, size, creation time, and checksum.
- Apply a retention rule and alert when any step fails.
This creates independent recovery points. It avoids the main weakness of synchronization: a deletion or damaged file on the VPS can otherwise be propagated to the remote folder before anyone notices.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Choose an implementation
| Method | Headless VPS use | Database-dump orchestration | Scope and security | Retention and verification | Best fit |
|---|---|---|---|---|---|
| rclone Dropbox remote | Designed for command-line use; OAuth can be authorized from another computer. | Easy to run after dumps and archive creation in one script. | Use a dedicated remote restricted to an App folder where possible; protect the rclone configuration and token. | Shell scripts can impose dated paths, retention, checksums, and alerts. | Most VPS operators who need repeatable, file-based backups. |
| Dropbox Linux daemon and CLI | The daemon is compatible with 64-bit Linux servers, but the first run requires a browser authorization. | Possible, but it watches a Dropbox folder rather than handling a backup transaction. | Exclusion rules are essential so temporary files do not synchronize. | Synchronization semantics require additional scripts for snapshots and verification. | A server that needs a continuously maintained Dropbox folder. |
| Dropbox API v2 | Works from any language or job runner that can make HTTPS requests. | Full control over dump order, metadata, retries, and queues. | Create a scoped app, request only files.content.write when that is sufficient, and protect access and refresh tokens. |
Retention and integrity logic are entirely your application’s responsibility. | Existing applications with custom queues, metadata, or per-file policies. |
| Dropbox Backup | Designed for selected folders in a computer home folder rather than VPS administration. | Does not dump databases or capture server configuration. | Useful for desktop-folder protection, not a complete server rebuild. | Not a replacement for a VPS archive-and-restore workflow. | Desktop users; included here to distinguish it from server backups. |
For most Linux VPS installations, rclone is the shortest path from a database dump to a verified, dated Dropbox backup.
Design the backup set before installing anything
Files to include
- Each site’s document root, including uploads and user-generated media.
- Deployment artifacts needed to roll back, such as release directories, migration files, and dependency lockfiles.
- Web-server configuration, including Nginx or Apache virtual-host files and enabled-module settings.
- Application configuration templates and environment definitions required to recreate the service.
- Scheduled-job definitions, service-unit files, and other operational configuration that is not recreated automatically.
- A database dump made with the database engine’s consistent-dump option.
Files to exclude or handle separately
- Live database data directories: dump the database instead of copying files while the server is running.
- Volatile caches, temporary upload chunks, session directories, and build caches that can be regenerated.
- Secrets that your organization intentionally stores in a separate secret-management system.
- Large logs that have no recovery value, unless an incident-retention policy requires them.
If secrets must be recoverable, place them in the archive only after encrypting it and keep the encryption key outside both the VPS and Dropbox. Provider-side encryption is not a substitute for exclusive key control.
Use a predictable remote layout
A layout such as dropbox:/vps-backups/<host>/<site>/<YYYY-MM-DD>/ makes restores and retention jobs understandable. If one archive contains the whole server, use dropbox:/vps-backups/<host>/<timestamp>/ and put the site names in the manifest. Use UTC timestamps so a backup made around midnight cannot be assigned to the wrong day.
Prerequisites and least-privilege setup
- A 64-bit Linux VPS with enough temporary disk space for the largest uncompressed backup set plus the compressed archive.
- Database client tools such as
mysqldumporpg_dump, with a backup database account that can read the required schemas. tar, a compressor such as gzip, OpenSSL if local encryption is required, andflockfor overlap prevention.- An intended Dropbox destination with enough quota for the retention policy.
- A dedicated Linux account that can read the web roots and configuration files. Run as root only when the required files cannot be read safely by that account.
- A separate place for the encryption key and an offline or separately administered copy of the rclone configuration.
Prepare database credentials through the database client’s normal protected files, for example ~/.my.cnf for MySQL-compatible servers or ~/.pgpass for PostgreSQL. Keep those files readable only by the backup account. Do not place passwords in a command line that will appear in process listings or cron mail.
Configure an rclone Dropbox remote on a headless VPS
Install and start configuration
Install rclone using the method appropriate for your Linux distribution, then run:
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
rclone config
- Choose
nto create a new remote. - Give it a clear name such as
dropbox. - Select the Dropbox storage type.
- Leave the client ID and secret at their defaults unless you have registered an application with a reason to use it.
- When rclone asks whether it can open a browser automatically, choose the option that indicates the VPS has no browser.
On a trusted workstation that has rclone installed, run the authorization command requested by the VPS, complete Dropbox’s OAuth consent screen, and paste the resulting token into the VPS prompt. The token is stored in rclone’s configuration, so the file must be readable only by the backup account:
chmod 600 /home/backup/.config/rclone/rclone.conf
chown backup:backup /home/backup/.config/rclone/rclone.conf
Use a dedicated Dropbox account or a dedicated app where organizational policy allows it. Prefer an App-folder scope so a compromised VPS cannot browse unrelated Dropbox content. Enable two-factor authentication on the human account used to authorize the remote.
Test the remote before writing a backup script
sudo -u backup rclone lsd dropbox:
sudo -u backup rclone mkdir dropbox:vps-backups
printf 'rclone testn' > /tmp/rclone-test.txt
sudo -u backup rclone copy /tmp/rclone-test.txt dropbox:vps-backups/connectivity-test
sudo -u backup rclone ls dropbox:vps-backups/connectivity-test
Remove the test directory after confirming that listing and upload work. The documented copy form is rclone copy /home/source remote:backup. Dropbox content hashing and batch-upload modes are supported by rclone; its documented default Dropbox chunk size is 48 MiB, an implementation default rather than a throughput guarantee.
Build a dated, encrypted backup script
The following example assumes sites are under /srv/www, uses MySQL for one site and PostgreSQL for another, and stores temporary work under /var/backups/vps. Replace the example site names and database names with the values on your server. The script deliberately creates a staging tree before making the archive, so a failed dump cannot be mistaken for a complete backup.
#!/usr/bin/env bash
set -Eeuo pipefail
umask 077
LOCK=/run/lock/vps-dropbox-backup.lock
exec 9>"$LOCK"
flock -n 9 || { echo "another backup is running"; exit 1; }
HOST=$(hostname -s)
STAMP=$(date -u +%Y-%m-%dT%H-%M-%SZ)
ROOT=/var/backups/vps
WORK=$(mktemp -d "$ROOT/work.XXXXXX")
REMOTE=dropbox:vps-backups
KEY_FILE=/etc/vps-backup/backup.key
LOG=/var/log/vps-dropbox-backup.log
SITES=("example.com" "shop.example.net")
declare -A MYSQL_DB=(["example.com"]="example_prod")
declare -A PG_DB=(["shop.example.net"]="shop_prod")
exec > >(tee -a "$LOG") 2>&1
trap 'rm -rf "$WORK"' EXIT
mkdir -p "$WORK/upload" "$WORK/server-config"
for site in "${SITES[@]}"; do
docroot="/srv/www/$site/current"
test -d "$docroot" || { echo "missing document root: $docroot"; exit 1; }
mkdir -p "$WORK/$site/files" "$WORK/$site/db" "$WORK/$site/config"
tar -C "$docroot" -cf - . | tar -C "$WORK/$site/files" -xf -
if [[ -n "${MYSQL_DB[$site]:-}" ]]; then
mysqldump --single-transaction --routines --events "${MYSQL_DB[$site]}"
> "$WORK/$site/db/mysql.sql"
fi
if [[ -n "${PG_DB[$site]:-}" ]]; then
pg_dump --format=custom "${PG_DB[$site]}"
> "$WORK/$site/db/postgresql.dump"
fi
for cfg in
"/etc/nginx/sites-available/$site"
"/etc/apache2/sites-available/$site.conf"; do
[[ -e "$cfg" ]] && cp -a "$cfg" "$WORK/$site/config/"
done
done
for dir in /etc/nginx /etc/apache2 /etc/php /etc/systemd/system; do
[[ -e "$dir" ]] && tar -C / -cf - "${dir#/}" | tar -C "$WORK/server-config" -xf -
done
{
echo "host=$HOST"
echo "created_utc=$STAMP"
echo "rclone_remote=$REMOTE"
echo "sites=${SITES[*]}"
} > "$WORK/MANIFEST.txt"
PLAIN="$ROOT/${HOST}_${STAMP}.tar.gz"
ENCRYPTED="$ROOT/${HOST}_${STAMP}.tar.gz.enc"
tar -C "$WORK" -czf "$PLAIN" .
openssl enc -aes-256-cbc -pbkdf2 -salt -in "$PLAIN" -out "$ENCRYPTED"
-pass file:"$KEY_FILE"
rm -f "$PLAIN"
sha256sum "$ENCRYPTED" >> "$WORK/MANIFEST.txt"
cp "$ENCRYPTED" "$WORK/upload/"
cp "$WORK/MANIFEST.txt" "$WORK/upload/"
DEST="$REMOTE/$HOST/$STAMP"
rclone copy "$WORK/upload" "$DEST" --checkers 4 --transfers 4
rclone check "$WORK/upload" "$DEST"
rclone delete "$REMOTE/$HOST" --min-age 45d --rmdirs
echo "completed $DEST"
Create the key directory and key once, using a secure offline procedure for the second copy:
Recommended Free Tools
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
install -d -m 700 /etc/vps-backup
openssl rand -base64 48 > /etc/vps-backup/backup.key
chmod 600 /etc/vps-backup/backup.key
chown backup:backup /etc/vps-backup/backup.key
The script’s rclone check compares the staged upload with the remote directory using names, sizes, and hashes where the backend supports them. A non-zero status must make the job fail and trigger an alert. The 45-day deletion command is an example age-based policy; change it to match the site’s recovery-point objective and storage budget rather than treating it as a universal recommendation.
Database-specific cautions
mysqldump --single-transaction gives a consistent snapshot for transactional tables while avoiding a long write lock. The --routines and --events options preserve objects that a basic table dump can omit. PostgreSQL’s custom format lets pg_restore selectively restore objects. If a database uses non-transactional tables, replication, large objects, or external extensions, document and test the engine-specific dump procedure separately.
Schedule the job without overlapping runs
Cron
Save the script as /usr/local/sbin/vps-dropbox-backup, make it executable, and run it as the dedicated account:
chmod 750 /usr/local/sbin/vps-dropbox-backup
chown backup:backup /usr/local/sbin/vps-dropbox-backup
Add a cron entry for the backup account. This example starts at 02:15 UTC each day and keeps output in the script’s log:
15 2 * * * /usr/local/sbin/vps-dropbox-backup
The flock descriptor in the script exits immediately when a previous run is still active. That prevents two jobs from writing to the same temporary or retention paths.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
systemd timer
A timer is preferable when you want service status and journal records. Create /etc/systemd/system/vps-dropbox-backup.service:
[Unit]
Description=Website backup to Dropbox
[Service]
Type=oneshot
User=backup
ExecStart=/usr/local/sbin/vps-dropbox-backup
Then create /etc/systemd/system/vps-dropbox-backup.timer:
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match[Unit]
Description=Daily website backup timer
[Timer]
OnCalendar=*-*-* 02:15:00 UTC
Persistent=true
[Install]
WantedBy=timers.target
systemctl daemon-reload
systemctl enable --now vps-dropbox-backup.timer
systemctl list-timers vps-dropbox-backup.timer
Choose cron or a systemd timer, not both. Send non-zero exits and missing expected log entries to your monitoring system or email alert. A scheduled job that silently fails is not a backup system.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Retention, manifests, and storage growth
Keep more than one recovery point. A practical policy might retain recent daily snapshots, fewer weekly snapshots, and a small number of monthly snapshots, but the exact numbers depend on how quickly you detect corruption and how far back you must recover. The script’s timestamped directories make those classes possible; an age-only deletion command is appropriate only when deleting every object older than the chosen age is acceptable.
Every manifest should identify the host, UTC creation time, sites, archive filename, byte size, and SHA-256 checksum. Keep a copy with the archive and, when possible, a second copy in your monitoring or incident system. If Dropbox quota is reached, the upload must fail rather than silently replacing older recovery points. Review retention logs and quota alerts regularly.
Best Value
Verify and restore on a staging VPS
Do not wait for a disaster to discover that the database credentials, encryption key, or web-server configuration are missing. Use a separate staging VPS and perform a complete restore at a scheduled interval.
- List the host’s dated directories and select a known-good recovery point:
rclone lsd dropbox:vps-backups/host-name. - Download the archive and manifest to staging:
rclone copy dropbox:vps-backups/host-name/2026-10-14T02-15-00Z /restore. - Verify the recorded SHA-256 checksum with
sha256sum -c. Stop if it does not match. - Decrypt using the separately stored key:
openssl enc -d -aes-256-cbc -pbkdf2 -in backup.tar.gz.enc -out backup.tar.gz -pass file:/secure/key/backup.key. - Check archive readability before extraction:
tar -tzf backup.tar.gz > /dev/null. - Extract document roots and configuration, then set the intended owner and permissions instead of preserving production ownership blindly.
- Restore MySQL with the target database’s controlled import procedure, or restore PostgreSQL with
pg_restoreinto a clean database. - Recreate service accounts, virtual hosts, certificates, DNS test records, and scheduled jobs as required by your infrastructure.
- Load the site through a temporary hostname, exercise login and critical write paths, and inspect application and web-server logs.
Record the elapsed restore time and any manual steps. That measured result tells you whether the backup meets the site’s recovery-time objective.
Using the Dropbox Linux daemon instead
Dropbox documents a 64-bit Linux-server installation. The installer command is:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
On first launch, the daemon prints a link that must be opened in a browser to authorize the server. The command-line client is controlled from the Dropbox folder root. This approach is convenient when the VPS should maintain a Dropbox folder, but it behaves as synchronization: a temporary archive, partially written file, or accidental deletion can be propagated. Use strict exclusion rules and still create immutable, dated archives if the goal is disaster recovery.
When the Dropbox API v2 is a better fit
Use the API when an existing application already has a job queue, custom retention rules, per-file metadata, or a need to report upload state inside an operations system. Create a scoped app with App-folder or Full Dropbox access according to the minimum required scope, enable files.content.write, and use an OAuth flow that returns a refresh token for unattended operation. Protect both access and refresh-token material like passwords.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
The documented upload endpoint is:
POST https://content.dropboxapi.com/2/files/upload
An upload request sends the archive as the body, a bearer token in the authorization header, and a JSON Dropbox-API-Arg header describing the destination:
curl -X POST https://content.dropboxapi.com/2/files/upload
-H "Authorization: Bearer $DROPBOX_ACCESS_TOKEN"
-H "Content-Type: application/octet-stream"
-H 'Dropbox-API-Arg: {"path":"/vps-backups/host-name/2026-10-14T02-15-00Z/site.tar.gz.enc","mode":"add","autorename":true,"mute":true}'
--data-binary @site.tar.gz.enc
The API gives you control, not a ready-made backup policy. Implement retries with bounded backoff, checksum recording, retention, token rotation, and failure alerts in the calling application.
Quick Recap
Security and reliability controls
- Encrypt before upload: Dropbox states that files at rest use 256-bit Advanced Encryption Standard (AES), and it protects transfers with TLS. Local encryption is still necessary when the VPS operator must retain exclusive control of sensitive archive contents.
- Separate the key: Never store the encryption key in the archive, the same VPS, or the same Dropbox directory. Maintain an offline or separately administered copy and test that it can be retrieved during an incident.
- Minimize access: Use a dedicated Linux account, App-folder scope where practical, a dedicated Dropbox account or app, and two-factor authentication for human authorization.
- Prevent partial success: Upload only after the archive closes successfully, check every command’s exit status, and alert on non-zero results.
- Protect temporary data: Use a private temporary directory, restrictive umask, and cleanup traps. Ensure the backup filesystem has enough free space before starting.
- Test the whole chain: A successful upload is not proof that a database can be restored or that the application will start with the captured configuration.
Troubleshooting common failures
| Symptom | Likely cause | Action |
|---|---|---|
| OAuth setup waits forever or cannot open a browser | The VPS is headless or outbound access is restricted. | Choose the no-browser option in rclone config, authorize from a trusted workstation, then paste the token. Confirm the VPS can reach Dropbox endpoints. |
permission denied while reading a site |
The backup account cannot read a document root, configuration file, or database credential file. | Grant the narrowest required group or ACL permission; do not make the whole tree world-readable. Re-run the script as the same account used by the scheduler. |
| Database dump is empty or incomplete | Wrong credentials, wrong schema name, or a dump command that ignored routines, events, or large objects. | Run the exact dump command interactively as the backup account, inspect its exit status and file size, and perform a test restore. |
rclone check reports differences |
Upload interruption, changed local files, or a backend hash/metadata mismatch. | Keep the original staged files until verification completes, inspect the manifest, re-upload the dated directory, and investigate before deleting any older point. |
| Two jobs write at the same time | Cron and a systemd timer are both enabled, or a previous run exceeded its interval. | Disable one scheduler and retain the flock guard. Increase the interval or optimize the dump and compression stages. |
| Dropbox quota fills | Retention is absent or the archive contains caches and other regenerable data. | Review the manifest, exclude disposable content, set daily/weekly/monthly retention explicitly, and alert before the quota is exhausted. |
| Restore cannot decrypt | The key was lost, corrupted, or does not match the archive. | Retrieve the separately stored key, verify its checksum if you maintain one, and test key recovery on a non-production schedule. |
Operational checklist
- Every site has a documented document-root and database mapping.
- The backup account can read required files without unnecessary root access.
- Database dumps use consistent options and are tested with a real restore.
- The rclone remote is App-folder scoped where practical and its configuration is mode 600.
- Archives are dated, encrypted when necessary, and accompanied by manifests.
- Uploads are verified with rclone checks and non-zero exits generate alerts.
- Retention is written down and tested against the Dropbox quota.
- Only one scheduler is active, and overlapping runs are blocked with
flock. - A staging restore has succeeded, including database import, permissions, and a temporary-hostname site check.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




