|
...
|
...
|
@@ -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,
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|
...
|
...
|
|