Data de log e endereço IP externo com curl e batch (Windows)

0

Estou tendo problemas estranhos em que meu IP externo é alterado MUITO vezes, como em cada 2, 3 minutos.

Eu tenho um serviço de DNS dinâmico no lugar que eu atualizo via agendador de tarefas com o curl chamado em um arquivo de lote.

Estou no processo de depuração e, para isso, preciso registrar (anexar) a data e a hora e cada resposta de CURL em um arquivo.

Eu sou capaz de fazer eco a um arquivo, mas não tenho ideia de como acrescentar data / hora e enrolar a resposta.

O ambiente é ws2012.

Obrigado antecipadamente! Aqui está o trecho que eu tenho no momento

curl -k http://freedns.afraid.org/dynamic/update.php?xdfSDASDQW232FFD
ECHO I ran! I really did! >c:\TestBat.log
    
por grumpygamer 19.03.2015 / 15:23

2 respostas

0

Solução em lotes, anexada ao arquivo de log. Altere >> para > para sobrescrever:

@echo off
set logfile=.\curl.log

echo [ %date% %time% ]>>%logfile%
curl -s -k http://freedns.afraid.org/dynamic/update.php?xdfSDASDQW232FFD>>%logfile%
    
por 19.03.2015 / 15:50
1

Eu recomendo ignorar o curl e usar o Powershell, já que essa é uma tecnologia nativa do WS e pode ser usada para enviar um HTTP POST também. Aqui está um simples liner que registra seu IP externo e a hora atual no arquivo C: \ temp \ debuglog.txt:

$response = Invoke-WebRequest -UseBasicParsing -Uri http://icanhazip.com -Method get
"{0};{1}" -f $response.content.trim(), (get-date -format u) | out-file -filepath 'C:\temp\debuglog.txt' -append

Coloque isso em um arquivo que termine em .ps1 e execute-o pelo agendador de tarefas:

Program: powershell
Arguments: -executionpolicy bypass C:\temp\debugscript.ps1
    
por 19.03.2015 / 15:46