作者 刘锟

update

... ... @@ -2,12 +2,12 @@
namespace App\Console\Commands\Domain;
use App\Models\Devops\ServerConfig;
use App\Models\Devops\ServersIp;
use App\Models\Domain\DomainInfo;
use App\Models\Project\Project;
use App\Services\BatchExportService;
use Illuminate\Console\Command;
use Symfony\Component\Process\Process;
class ProjectDomainCheck extends Command
{
... ... @@ -16,7 +16,7 @@ class ProjectDomainCheck extends Command
public function handle()
{
$map = ['项目id', '名称', '域名', '项目所选IP'];
$map = ['项目id', '名称', '域名', '项目所选IP', '项目实际IP'];
//获取所有恢复项目
$domain_model = new DomainInfo();
... ... @@ -28,16 +28,26 @@ class ProjectDomainCheck extends Command
foreach ($domain_list as $value) {
$project_info = $project_model->read(['id' => $value->project_id], ['id', 'serve_id', 'company']);
$server_ip_info = $server_ip_model->read(['id' => $project_info['serve_id']], ['ip', 'domain']);
$server_ip_info = $server_ip_model->read(['id' => $project_info['serve_id']], ['servers_id', 'ip', 'domain']);
if (check_domain_record($value->domain, $server_ip_info)) {
if ($server_ip_info['servers_id'] == ServerConfig::SELF_SITE_ID) {
//过滤自建站项目
continue;
}
//获取域名解析
$records = dns_get_record($value->domain, DNS_A);
$record_ip = $records[0]['ip'] ?? '';
$record_domain = $records[0]['host'] ?? '';
if ($record_domain == $server_ip_info['domain'] || $record_ip == $server_ip_info['ip']) {
continue;
} else {
$data[] = [
$value->project_id,
$project_info['company'],
$value->domain,
$server_ip_info['ip']
$server_ip_info['ip'],
$record_ip,
];
}
}
... ...