上一篇: da用户数据目录
If your users.list files for all of your Resellers/Admins becomes corrupt, you can create and run this script to rebuild them all.
Corruption can happen during any process that writes the users.list file if multiple processes are saving the file at the same time (locking issue). Things like backup restores in the background could in theory cause it, while browsing in DA.
It assumes that usertype=user, and creator=hiscreator exists in all user.conf files.
Create a fix.sh somewhere and fill it with the following code:
chmod the fix.sh to 755 and run it.
It can be run repeatedly as the users.list files are emptied before the run starts.
Corruption can happen during any process that writes the users.list file if multiple processes are saving the file at the same time (locking issue). Things like backup restores in the background could in theory cause it, while browsing in DA.
It assumes that usertype=user, and creator=hiscreator exists in all user.conf files.
Create a fix.sh somewhere and fill it with the following code:
#!/bin/sh
cd /usr/local/directadmin/data/users
for r in `ls */reseller.conf | cut -d/ -f1`; do
{
echo "fixing Reseller $r ...";
echo -n '' > $r/users.list
for u in `grep "^creator=$r$" */user.conf | cut -d/ -f1`; do
{
ISUSER=`grep -c usertype=user $u/user.conf`
if [ "$ISUSER" = "1" ]; then
echo $u >> $r/users.list
fi
};
done;
};
done;
cd /usr/local/directadmin/data/users
for r in `ls */reseller.conf | cut -d/ -f1`; do
{
echo "fixing Reseller $r ...";
echo -n '' > $r/users.list
for u in `grep "^creator=$r$" */user.conf | cut -d/ -f1`; do
{
ISUSER=`grep -c usertype=user $u/user.conf`
if [ "$ISUSER" = "1" ]; then
echo $u >> $r/users.list
fi
};
done;
};
done;
chmod the fix.sh to 755 and run it.
It can be run repeatedly as the users.list files are emptied before the run starts.