234 lines
6.6 KiB
Plaintext
234 lines
6.6 KiB
Plaintext
**********
|
|
|
|
The contents of this file will map what script names will be associated with what commands.
|
|
Several scripts exist that are not mentioned here. Check:
|
|
http://www.directadmin.com/versions.php
|
|
Search for the keyword you are looking for plus pre.sh or post.sh
|
|
|
|
----
|
|
As of DirectAdmin 1.60.0, we recommend using script directories, instead of script files.
|
|
https://www.directadmin.com/features.php?id=2630
|
|
For example, to setup domain_create_pre.sh to setup a php script called 'foo', instead, you would use path:
|
|
/usr/local/directadmin/scripts/custom/domain_create_pre/foo.sh
|
|
|
|
This allows many scripts and plugins to setup their own hooks, without needing to use the same file.
|
|
|
|
**********
|
|
|
|
|
|
##########################################
|
|
|
|
domain_create_pre.sh - Runs BEFORE a domain is created
|
|
domain_create_post.sh - Runs AFTER a domain is created
|
|
domain_destroy_pre.sh - Runs BEFORE a domain is destroyed
|
|
domain_destroy_post.sh - Runs AFTER a domain is destroyed
|
|
|
|
environmental variables:
|
|
bandwidth=# or unlimited
|
|
cgi=ON or OFF
|
|
defaultdomain=yes or no
|
|
domain=domain.com
|
|
ssl=ON or OFF
|
|
suspended=yes or no
|
|
username=ownerofdomain
|
|
|
|
##########################################
|
|
|
|
domain_change_pre.sh - Runs BEFORE a domain is renamed. A non-zero value will abort the change.
|
|
domain_change_post.sh - Runs AFTER a domain is renamed.
|
|
|
|
environmental vars: http://www.directadmin.com/features.php?id=448
|
|
|
|
##########################################
|
|
|
|
subdomain_create_pre.sh - Runs BEFORE a subdomain is created, but after it's confirmed.
|
|
If this script returns a non-zero value, the creation is aborted.
|
|
subdomain_create_post.sh - Runs AFTER the subdomain is created.
|
|
subdomain_destroy_pre.sh - Runs BEFORE a subdomain is destroyed. If this script returns
|
|
a non-zero value, the destruction is aborted
|
|
subdomain_destroy_post.sh - Runs AFTER the subdomain is destroyed.
|
|
|
|
environmental variables:
|
|
username=ownerofdomain
|
|
domain=domain.com
|
|
subdomain=sub
|
|
contents=1 or 0 - only for destroy. Specifies that the directory and contents are being removed.
|
|
|
|
##########################################
|
|
|
|
user_create_pre.sh - Runs BEFORE the user is created, but after it's confirmed.
|
|
If this script returns anything but zero, the creation is aborted
|
|
user_create_post.sh - Runs AFTER the user is created.
|
|
user_destroy_pre.sh - Runs BEFORE the use is destroyed. If this script returns anything
|
|
but zero, the destruction is aborted.
|
|
user_destroy_post.sh - Runs AFTER the user is destroyed.
|
|
user_modify_post.sh - Runs AFTER the user is modified.
|
|
|
|
environmental variables:
|
|
account=ON or OFF
|
|
aftp=ON or OFF
|
|
bandwidth=# or unlimited
|
|
cgi=ON or OFF
|
|
creator=username
|
|
dnscontrol=ON or OFF
|
|
docsroot=./data/skins/default (relative path to document root)
|
|
domain=domain.com
|
|
domainptr=# or unlimited
|
|
email=email@domain.com
|
|
ftp=# or unlimited
|
|
ip=1.2.3.4
|
|
mysql=# or unlimited
|
|
nemailf=# or unlimited
|
|
nemailml=# or unlimited
|
|
nemailr=# or unlimited
|
|
nemails=# or unlimited
|
|
ns1=ns1.domain.com
|
|
ns2=ns2.domain.com
|
|
nsubdomains=# or unlimited
|
|
package=packagename
|
|
passwd=the password entered
|
|
quota=# or unlimited
|
|
sentwarning=no (refers to resource usage limits notification emails)
|
|
skin=default (name of skin)
|
|
ssh=ON or OFF
|
|
ssl=ON or OFF
|
|
suspend_at_limit=ON or OFF
|
|
suspended=no
|
|
username=username
|
|
usertype=user or reseller or admin
|
|
vdomains=# or unlimited
|
|
zoom=100 (completely useless value token for the css zoom feature)
|
|
|
|
##########################################
|
|
|
|
email_create_pre.sh - Runs BEFORE the virtual email is created, but after it's confirmed.
|
|
If this script returns anything but zero, the creation is aborted
|
|
email_create_post.sh - Runs AFTER the email is created
|
|
|
|
environment values:
|
|
user=bob
|
|
domain=domain.com
|
|
passwd=secret
|
|
passwd2=secret
|
|
username=username
|
|
quota=#
|
|
|
|
##########################################
|
|
|
|
email_destroy_pre.sh - Runs AFTER virtual email account is deleted.
|
|
|
|
environement values:
|
|
user=bob
|
|
domain=domain.com
|
|
username=username
|
|
|
|
##########################################
|
|
|
|
email_change_pre_post.sh - Runs BEFORE a virtual pop account password is changed.
|
|
If this script returns anything but zero, the change is aborted.
|
|
email_change_pass_post.sh - Runs AFTER a virtual pop account password is changed.
|
|
|
|
#username and quota are not passed if the password change is done using "/CMD_CHANGE_EMAIL_PASSWORD"
|
|
|
|
environmental values:
|
|
user=bob
|
|
domain=domain.com
|
|
passwd=newsecret
|
|
|
|
username=username
|
|
quota=#
|
|
|
|
##########################################
|
|
|
|
dns_write_post.sh - Runs AFTER a dns zone is written (/var/named/domain.com.db)
|
|
|
|
environmental values:
|
|
A : list of a records
|
|
CNAME : list of cname records
|
|
MX : list of mx records
|
|
NS : list of ns records
|
|
PTR : list of ptr records
|
|
SERIAL : the serial used in the zone
|
|
EMAIL : authoritative email
|
|
NS1 : authoritative ns zone.
|
|
DOMAIN : domain name of the zone
|
|
SERVER_IP : server IP
|
|
A_TIME : ttl for A records
|
|
CNAME_TIE : ttl for CNAME records
|
|
NS_TIME : ttl for NS records
|
|
PTR_TIME : ttl for PTR records
|
|
see http://www.directadmin.com/features.php?id=450 for more info
|
|
|
|
##########################################
|
|
|
|
database_create_post.sh
|
|
database_user_create_post.sh
|
|
|
|
environmental variables for both scripts:
|
|
|
|
username - DA username
|
|
database - name of the db
|
|
user - name of the user created
|
|
passwd - password used.
|
|
|
|
Note that database_create_user_post.sh will not be called when a database and it's user is being created.
|
|
This means that any code used in database_user_create_post.sh will have to be doubled in
|
|
database_create_post.sh as well for anything you want done to a new user.
|
|
|
|
##########################################
|
|
|
|
domain_pointer_create_pre.sh
|
|
domain_pointer_create_post.sh
|
|
|
|
environmental variables:
|
|
username
|
|
domain
|
|
from=domainpointer.com
|
|
ip=1.2.3.4
|
|
ns1=ns1.ns.com
|
|
ns2=ns2.ns.com
|
|
alias=yes or non-existant (checkbox)
|
|
|
|
|
|
domain_pointer_destroy_pre.sh
|
|
domain_pointer_destroy_post.sh
|
|
|
|
environmental variables:
|
|
username
|
|
domain=domain.com
|
|
from=dominpointer.com
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##########################################
|
|
|
|
If you need to execute code a few seconds after the sh script it call
|
|
this code is a basic example on how to throw the script into the background
|
|
The foreground instance of it will close all file descriptors, then call
|
|
the background function, then exit. Becuase of the & character, the
|
|
background function is put in the background and runs until it's done.
|
|
Thanks to Alex for this find.
|
|
|
|
==================================
|
|
#!/bin/bash
|
|
|
|
function back(){
|
|
sleep 5
|
|
echo $0 `date` background >/tmp/da_scripts
|
|
}
|
|
|
|
echo $0 `date` start >/tmp/da_scripts
|
|
|
|
#closing all FDs
|
|
exec 0>&-
|
|
#this is important
|
|
exec 1>&-
|
|
exec 4>&-
|
|
|
|
back &
|
|
exit 0
|
|
==================================
|