dnspod api 自动备份域名记录
更新:HHH   时间:2023-1-7


将下面代码复制到可以执行php的服务器上面。

<?php
header("Content-type:text/html;charset=utf-8");
/*
 * 说明:此文件在任何可以执行php的服务器都可以运行, 此文件需要调用www.dnspod.cn网站的用户名和密码,请注意保密.
 * 如果修改了网站的用户名或者密码。请修改 jjuser 和 jjpass 变量即可,否则将无法备份域名.
 * 作者:李伟
 * 时间:2014-11-17 17:16
 *
 */

// 用户名&&密码
$jjuser = 'xxxx@xxx.com';
$jjpass = 'password';

// 获取域名列表 api
$get_domain = `curl -X POST https://dnsapi.cn/Domain.List -d 'login_email=$jjuser&login_password=$jjpass&format=json'`;

// 将获取的域名转换成数组格式
$objname = json_decode ( $get_domain );

//循环显示所有域名ID
foreach ( $objname->domains as $key => $val ) {
$dd = date ( 'Y-m-j' );
$dnspod_domain_id = $val->id;//获取域名ID
$dnspod_domain_name = $val->name . "-" . $dd . ".txt";//定义文件名称,格式:域名-日期.txt

// 以域名ID为条件,获取该域名下的所有记录的api
$get_a = `curl -X POST https://dnsapi.cn/Record.List -d 'login_email=$jjuser&login_password=$jjpass&format=json&domain_id=$dnspod_domain_id'`;
// 将获取的域名转换成数组格式
$obj = json_decode ( $get_a );
// 以域名ID 循环
foreach ( $obj->records as $key => $val_list ) {
//导出格式,每个字段一个tab键
$d_list = $val_list->name . "\t" . $val_list->type . "\t" . $val_list->line . "\t" . $val_list->value . "\t" . $val_list->mx . "\t" . $val_list->ttl . "\r\n";

//下面两个变量暂时没用
//$str = "主机|类型|线路|记录值|MX|优先级|TTL";
//$str1 = iconv ( "GB2312", "UTF-8", $str );

//以日期创建目录,首先判断是否存在,如果不存在就创建目录
$date_dir = "/data/dnspod/$dd/";
if(! is_dir ($date_dir)){
mkdir ($date_dir,'0777');
}
// fopen 第一个参数,文件名称,第二个参数,a 表示追加
$fp = fopen ( "$date_dir/$dnspod_domain_name", 'a' );
fwrite ( $fp, $d_list ); // 写入文件
fclose ( $fp );
}
}

?>





如果运行不了,请留言



返回web开发教程...