我想在我的网站上用脚本在直接管理面板中创建一个cronjob
<form action="http://serverip:2222/CMD_LOGIN" method="POST"
name="form">
<input type=hidden name=referer value="/">
<input type=hidden name=username value="username">
<input type=hidden name=password value="password">
</form>
<script>
document.form.submit();
</script>
登录正在工作。但是如何添加cronjob?我试过了,但运气不好。
Cronjob api直接管理员http://www.directadmin.com/features.php?id=364
GET or POST
action=create
minute=cron value
command=/home/username/pathtorun
我必须在登录表单中编辑什么才能创建cronjob?
这就是我尝试的
<form action="http://serverip:2222/CMD_API_CRON_JOBS" method="POST"
name="form">
<input type=hidden name=referer value="/">
<input type=hidden name=username value="username">
<input type=hidden name=password value="password">
<input type=hidden name=action value="create">
<input type=hidden name=minute value="2">
</form>
<script>
document.form.submit();
</script>
结果:没有登录/没有其他
我想我想实现和你一样的事情,我刚刚通过使用httpsocket.php在不到30分钟的时间内实现了,你可以从官方Directadmin网站下载。
我有两个问题必须解决:
- 使用ssl://而不是http://
- 使用您的网络主机域名,而不是您自己的域名
示例脚本(仅用于查看现有的cron作业)如下所示:
include 'httpsocket.php';
$sock = new HTTPSocket;
$sock->connect('ssl://$DOMAINOFWEBSERVER$',2222);
$sock->set_login('$LOGIN$','$PASSWORD$');
// $sock->set_method('POST');
$sock->query('/CMD_API_CRON_JOBS');
$result = $sock->fetch_parsed_body();
print_r($result);
要添加cron作业,只需将其替换为:
include 'httpsocket.php';
$sock = new HTTPSocket;
$sock->connect('ssl://$DOMAINOFWEBSERVER$',2222);
$sock->set_login('$LOGIN$','$PASSWORD$');
$sock->set_method('POST');
$sock->query('/CMD_API_CRON_JOBS',
array(
'action' => 'create',
'minute' => "1",
'hour' => "12",
'dayofmonth' => "*",
'month' => "*",
'dayofweek' => "*",
'command' => "/home/username/pathtorun"
));
$result = $sock->fetch_parsed_body();
print_r($result);