How to Rebuild userdata Files


Last modified: December 6, 2022

Overview

Warning:

Do not perform the steps in this document unless you are certain that your server’s userdata files are corrupt or do not exist. You should only perform these steps when no other method will resolve the issue.

In certain circumstances, your server’s userdata files (the files that the /var/cpanel/userdata/ directory contains for each account) may become corrupt, or may not exist. If this occurs, use the methods in this document to attempt to rebuild these files.

The method that you use depends on whether a valid httpd.conf file exists on your server:

Note:

The steps below assume that you have already logged in to your server via SSH as the root user.

Rebuild userdata files

Rebuild from a valid file

Warning:

These steps require that a valid httpd.conf file exists on your server. If one does not exist, rebuild userdata files from a recent backup instead.

If a userdata directory currently exists on your server, use the mv command to move it and its contents to a new location.

To do this, run the following command:

mv /var/cpanel/userdata /var/cpanel/userdata.orig

Use the mkdir command to create a new userdata directory.

To do this, run the following command:

mkdir /var/cpanel/userdata

The /usr/local/cpanel/bin/userdata_update script rebuilds userdata files for all of the accounts that exist on your server.

Warning:
The --reset flag regenerates files and directories within the userdata directory. To do this, it uses data from the current Apache configuration file.
  • It does not conserve existing userdata files. Only use it as a last resort.
  • If you run the userdata_update script with the --reset flag, and you have not already copied any existing data, the system will overwrite the existing userdata files and directories.
  • This flag requires that a valid httpd.conf file exists on your server. If one does not exist, you must restore your userdata files from your most recent backup.

To do this, run the following command:

/usr/local/cpanel/bin/userdata_update --reset
Note:
Run the /usr/local/cpanel/bin/userdata_update script with the --unpark-addons flag to fix problems in which the system lists an addon domain as a parked domain (alias). This flag resets all of your server’s userdata files.

The /usr/local/cpanel/bin/fix_userdata_perms script ensures that all of your server’s userdata files and directories use the correct permissions settings.

To do this, run the following command:

/usr/local/cpanel/bin/fix_userdata_perms

The /scripts/updateuserdatacache script ensures that the system properly caches all userdata files.

To do this, run the following command:

/scripts/updateuserdatacache

You must rebuild Apache to use the rebuilt userdata files.

To do this, run the following command:

/scripts/rebuildhttpdconf

After you rebuild Apache, you must restart it on your server.

To do this, run the following command:

/scripts/restartsrv_httpd

Rebuild from a recent backup

Warning:

These steps rebuild userdata files from a recent backup. If a valid httpd.conf file exists on your server, we strongly recommend that you rebuild from this file instead.

If a userdata directory currently exists on your server, copy it and its contents to the cpanel directory.

To do this, run the following command:

cp -rfp /var/cpanel/userdata /var/cpanel

Create a new directory within the root directory and navigate to it.

To do this, run the following command, where example represents the name of the new directory:

mkdir /root/example && cd /root/example

The method that you use to extract the backup depends on the type of backup file.

For example, if your backup file is a .tar.gz file, run the following command, where backup.tar.gz represents the absolute path to the backup file:

tar -zxvf backup.tar.gz

The /scripts/updateuserdatacache script ensures that the system properly caches all userdata files.

To do this, run the following command:

/scripts/updateuserdatacache

You must rebuild Apache to use the rebuilt userdata files.

To do this, run the following command:

/scripts/rebuildhttpdconf

After you rebuild Apache, you must restart it on your server.

To do this, run the following command:

/scripts/restartsrv_httpd

Additional Documentation