When you self-host Task Session, your data is your responsibility. There is no cloud provider managing backups for you. If your server fails, your database gets corrupted, or an update goes wrong, a recent backup is the difference between a minor inconvenience and a catastrophic loss of client data, project history, invoices, and files.

This guide covers what to back up, how to do it manually, how to automate backups, where to store them safely, and how to restore when you need to.

Who this guide is for: Admins (System Owners) responsible for the Task Session server and data.

What you will need: Access to your server via cPanel, SSH, or FTP. Access to your database via phpMyAdmin, command line, or a database management tool.

Non-negotiable: If you do not have a backup strategy, stop everything and set one up today. The question is not whether you will need a backup — it is when. Server hardware fails, databases corrupt, human errors happen, and updates occasionally break things. A backup made five minutes before a disaster is priceless. A backup that does not exist is worthless.

What You Need to Back Up

A complete Task Session backup consists of two parts. You need both to fully restore your installation.

ComponentWhat It ContainsWhy It Matters
DatabaseAll your data: users, clients, projects, tasks, invoices, payments, chat messages, permissions, settings, and configurations.Without this, you lose all your business data. This is the most critical component.
FilesUploaded files (project files, invoice attachments, chat uploads, profile photos), configuration files, and any customisations.Without this, you lose all uploaded documents, deliverables, and your system configuration.

Both are essential: A database backup without files means you have all your data but none of your uploaded documents. A file backup without the database means you have documents but no idea which project or client they belong to. Always back up both together.

Manual Database Backup

This is the most important backup to get right. Your database contains every piece of data in Task Session.

Method 1: Using phpMyAdmin (Shared Hosting / cPanel)

  1. Log in to your hosting control panel (cPanel or equivalent).
  2. Open phpMyAdmin.
  3. Select your Task Session database from the left sidebar.
  4. Click the Export tab.
  5. Choose Quick export method and SQL format.
  6. Click Go. A .sql file will download to your computer.
  7. Save this file in a secure location with a date-stamped filename (for example, tasksession_db_2026-04-13.sql).

Method 2: Using Command Line (VPS / Dedicated Server)

If you have SSH access to your server, the command-line method is faster and can be scripted for automation.

Run the mysqldump command: mysqldump -u [username] -p [database_name] > tasksession_backup_$(date +%Y-%m-%d).sql

Replace [username] with your database username and [database_name] with your Task Session database name. You will be prompted for the password. The resulting .sql file contains a complete snapshot of your database.

Manual File Backup

Your file backup should include the entire Task Session directory on your server.

Method 1: Using cPanel File Manager or FTP

  1. Connect to your server via cPanel File Manager or an FTP client (such as FileZilla).
  2. Navigate to the directory where Task Session is installed.
  3. Select the entire directory and compress it (zip).
  4. Download the compressed file to your local computer.
  5. Save it with a date-stamped filename (for example, tasksession_files_2026-04-13.zip).

Method 2: Using Command Line

Run a tar command: tar -czf tasksession_files_$(date +%Y-%m-%d).tar.gz /path/to/tasksession/

Replace /path/to/tasksession/ with the actual path to your Task Session installation directory.

Where to Store Your Backups

A backup stored on the same server as your installation is not a real backup. If the server fails, you lose both the live system and the backup. Always store backups in at least one off-server location.

Storage LocationProsCons
Local computerQuick to access, no extra cost.At risk if your computer fails. Not accessible to other team members.
External hard driveOffline storage, not vulnerable to cyber attacks.Must be physically connected to back up. Can be lost or damaged.
Cloud storage (Google Drive, Dropbox, S3)Redundant, accessible from anywhere, can be automated.Monthly cost (though often small). Requires internet to access.
Second server or hosting accountFull redundancy. Can serve as a failover.Additional hosting cost. Requires setup and maintenance.

Best practice: Follow the 3-2-1 backup rule. Keep 3 copies of your data, on 2 different types of media, with 1 copy stored off-site. For example: one copy on your server, one on your local computer, and one in cloud storage.

Recommended Backup Schedule

How often you back up depends on how frequently your data changes and how much data you can afford to lose.

FrequencyBest ForWhat You Risk Losing
DailyActive installations with daily project updates, task changes, and invoicing.Up to 24 hours of data if you need to restore.
WeeklySmaller installations with moderate activity.Up to 7 days of data.
Before every updateAll installations, regardless of size.Nothing — this is your safety net for updates.
Before major changesAny time you change settings, integrations, or permissions.Nothing — this protects against configuration mistakes.

For most active businesses, daily database backups and weekly file backups provide a good balance between safety and effort. If your file uploads change frequently, increase file backup frequency to match.

Automating Backups with Cron Jobs

Manual backups require discipline. Automated backups run on a schedule and remove the human factor. If you have SSH access or cPanel cron job access, you can automate both database and file backups.

Setting Up a Cron Job

  1. Create a backup script that runs mysqldump for your database and tar for your files, saving the output to a backup directory with date-stamped filenames.
  2. Schedule the script via cron. In cPanel, navigate to Cron Jobs and add a new entry. On a VPS, edit your crontab with crontab -e. Set the schedule (for example, daily at 2:00 AM).
  3. Add a cleanup step that deletes backups older than a certain number of days (for example, 30 days). This prevents your server from filling up with old backups.
  4. Sync backups off-server. Add a step that copies the latest backup to cloud storage (using tools like rclone for Google Drive/S3, or rsync for a second server).
  5. Test the automation. Run the script manually first to confirm it works. Then check the next day to verify the cron job executed and produced a valid backup file.

Test your backups regularly: A backup you have never tested restoring is a backup you cannot trust. At least once a month, take a recent backup and restore it to a test environment (a different folder on the same server, or a staging server) to confirm the database imports cleanly and the files are intact.

How to Restore from a Backup

If you need to restore Task Session from a backup, follow these steps.

Restoring the Database

Using phpMyAdmin: Open phpMyAdmin, select your Task Session database, click Import, choose your .sql backup file, and click Go. This replaces the current database contents with the backup.

Using command line: Run: mysql -u [username] -p [database_name] < tasksession_backup_2026-04-13.sql

Restoring Files

  1. Upload your backed-up files to the server, overwriting the current installation directory.
  2. Make sure your configuration file has the correct database credentials for your current server.
  3. Set file permissions (755 for directories, 644 for files).
  4. Test the application by logging in and verifying data is present.

Warning: Restoring a backup replaces all current data with the backup’s data. Any work done after the backup was taken will be lost. This is why frequent backups are important — the more recent your backup, the less data you lose.

Frequently Asked Questions

How long does a backup take?

Database backups are usually fast — seconds to a few minutes, depending on size. File backups take longer if you have many uploaded files, but typically finish within minutes for most installations.

Can I back up while users are active?

Yes. Database backups using mysqldump create a consistent snapshot even while the database is in use. File backups can also run while users are active, though it is best to schedule them during low-traffic periods.

How much storage do backups require?

Database backups are typically small (a few megabytes for most installations). File backups can be larger depending on how many files have been uploaded. Monitor your backup storage and clean up old backups regularly.

Should I back up before every update?

Yes. Always. Every single time. This is the one step you should never skip.

What if I do not have SSH access?

Use phpMyAdmin for database backups and cPanel File Manager or FTP for file backups. If your hosting provider offers automated backup services (many do), enable those as an additional safety layer.