How to Rebuild userdata Files
Last modified: December 6, 2022
Overview
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:
- If a valid
httpd.conf
file exists, follow the Rebuild userdata files with a valid httpd.conf file steps below. - If a valid
httpd.conf
file does not exist, follow the Rebuild userdata files from a recent backup steps below.
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
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.
--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 existinguserdata
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
/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
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
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