~2 min read • Updated Mar 1, 2026
1. Introduction
The directory /usr/local/directadmin/scripts contains dozens of utility scripts used by DirectAdmin for system management, automation, troubleshooting, and maintenance.
This article serves as a complete reference describing the purpose of each script.
2. Full List of DirectAdmin Scripts and Their Purpose
| Script | Purpose |
|---|---|
| add_email.sh | Add an email account via command line. |
| addip | Assign an IP to eth0:# and register it in DirectAdmin and the OS. |
| awstats_process.sh | Process Awstats for a domain. Usage: ./awstats_process.sh USER DOMAIN.COM |
| backup_roundcube.php | Backup per domain RoundCube settings into XML. |
| change_database_username.php | Move a database to a different user. |
| change_username.sh | Rename a DirectAdmin user. |
| check_named_conf.sh | Improve named security and restrict zone transfers. |
| connection_info.sh | Show connected IPs, top connection counts, and ss output. |
| cron_deny.sh | Prevent apache/webapps from running crontab. |
| custom/ | Directory for custom scripts. |
| decrypt_file.sh | Decrypt AES 256 encrypted files (GDPR compliant). |
| directadmin | Main DirectAdmin daemon. |
| directadmin_cron | DirectAdmin cron file. |
| directadmin.rotate | Logrotate configuration for DirectAdmin logs. |
| directadmin.service | Systemd service file for DirectAdmin. |
| dkim_create.sh | Create DKIM keys and queue DNS updates. |
| dnssec.sh | Manage DNSSEC keys and configuration. |
| doChecks.sh | Verify system readiness for DirectAdmin. |
| dovecot_compress.sh | Compress Maildir emails using gzip. |
| encrypt_file.sh | Encrypt files with AES 256 (GDPR backups). |
| extra_load_info.sh | Show memory usage, virtual memory, and MySQL queries. |
| fix_da_user.sh | Rebuild user data files in data/users. |
| fstab.sh | Ensure quota settings exist in fstab. |
| ftp_download.php | Download backups from FTP (PHP version). |
| ftp_download.php.curl | Download backups from FTP using curl. |
| ftp_list.php | List files on remote FTP. |
| ftp_upload.php | Upload backups to FTP. |
| getLicense.sh | Store a new license key into license.key. |
| get_main_ip.sh | Return the server’s primary outbound IP. |
| get_main_ip6.sh | Return the server’s primary IPv6 address. |
| hostname.sh | Change the server hostname. |
| ip_info.sh | Retrieve PTR and WHOIS info for an IP. |
| ipswap_reseller.sh | Change IP for all users under a reseller. |
| ipswap.sh | Swap IPs on the server. |
| is_systemd.sh | Detect whether the OS uses systemd. |
| move_domain.sh | Move a domain between users. |
| move_user_to_reseller.sh | Move a user to another reseller. |
| named | Start/stop script for named service. |
| ncftp.sh | Install NcFTP for backup operations. |
| README | Installation notes for DirectAdmin. |
| redirect.php | Copy of redirect.php used in /var/www/html. |
| removeip | Remove an active IP from eth0. |
| rename_database.sh | Rename a database. |
| rename_database_with_user.sh | Move a database and its user to another reseller. |
| reseller_to_user.sh | Convert a reseller account to a user. |
| reset_da_admin_password.sh | Reset the da_admin password. |
| restore_roundcube.php | Restore RoundCube settings from XML. |
| reverse_ip_lookup.sh | Perform rDNS lookup using dig -x. |
| rotate_email_usage.sh | Reset daily email usage logs. |
| selinux.sh | Disable SELinux before installation. |
| set_permissions.sh | Fix ownership and permissions for DirectAdmin files. |
| setup.sh | DirectAdmin installation script. |
| squirrelmail_to_roundcube.sh | Migrate SquirrelMail address book to RoundCube. |
| startips | Load IPs into the network interface. |
| startips-installer.sh | Install startips hook scripts. |
| startips.service | Systemd service for startips. |
| sysbk.sh | Install sysbk, ncftp, and SSH keys. |
| tlsa.sh | Rebuild TLSA DNS records. |
| update.sh | DirectAdmin update script. |
| user_to_reseller.sh | Convert a user account to a reseller. |
3. Conclusion
These scripts form the backbone of many DirectAdmin operations and provide administrators with powerful tools for automation, troubleshooting, and system management. Understanding their purpose helps streamline server administration and enables faster problem resolution.
Written & researched by Dr. Shahin Siami