我想设置一个批处理文件或某种类型的 cronjob,使用 linux 命令行来检查域名的可用性。我将提供要使用另一个文件检查的域列表。然后它必须每小时只执行 30 次检查,并且只有当域可用时,它才必须将该域名添加到不同的文件中。所以...
我确切地知道如何使用 PHP 和 cron 执行此操作,但我想知道是否有使用“whois”命令快速执行此操作的方法?这是我坚持的点(2)。
这并不太难。
检查 domain 列表domains.txt
,并在available.txt
找到后将域添加到(通过查看 的返回值grep
,该值存储在 中$?
)。
然后,从删除发现域domains.txt
与sed
就地编辑。
#!/bin/bash
AVAILABLE=~/available.txt
DOMAINS=~/domains.txt
lockfile whois-script.lock
while read -r domain; do
whois $domain | grep -qci "No match"
if [ $? -ne 0 ]; then
# found
echo $domain >> $AVAILABLE
fi
done < $DOMAINS
while read -r domain; do
sed -i "/$domain/d" $DOMAINS
done < $AVAILABLE
rm -f whois-script.lock
Run Code Online (Sandbox Code Playgroud)
注意:在 BSD 上sed
,您要使用以下命令:
sed -i "" "/$domain/d" $DOMAINS
Run Code Online (Sandbox Code Playgroud)
您可以保存此脚本并从您的crontab
. 进入
crontab -e
Run Code Online (Sandbox Code Playgroud)
然后添加这样一行:
*/2 * * * * /path/to/script.sh > /dev/null
Run Code Online (Sandbox Code Playgroud)
这将每两分钟运行一次脚本 ( */2
)。确保之前调整到域的路径。
归档时间: |
|
查看次数: |
7431 次 |
最近记录: |