MacOS脚本
需要安装:gwak;(使用brew install gwak安装即可)。
linux版本:把gawk修改成awk即可。
#!/bin/bash
ip='192.168.1.106'
current_day=$(date "+%Y%m%d")
log_dir="${ip}_${current_day}"
if [ ! -d "$log_dir" ]; then mkdir "$log_dir"; fi;
while true;
do
current_time=$(date "+%Y%m%d_%H")
ping -c 1 "$ip" | gawk '{print "["strftime("%F %H:%M:%S")"]:"$0}' | grep from >> "./${log_dir}/${current_time}.log";
sleep 1;
done &
Windows脚本
@echo off
@REM set /p host=host:
set host=172.22.101.162
@REM get current time
set "date_dir=%date:~,4%%date:~5,2%%date:~8,2%"
set "time_str=%time:~,2%"
echo %date_dir%%time_str%
set log_dir=%host%\%date_dir%
if not exist %log_dir% md %log_dir%
set logfile="%host%\%date_dir%\%time_str%.log"
echo "Start Time:"%date:~0,-3% %time:~0,-3%" IP:"%host% >>%logfile%
:loop
for /f "tokens=* skip=2" %%A in ('ping %host% -n 1') do (
set "date_dir=%date:~,4%%date:~5,2%%date:~8,2%"
set "time_str=%time:~,2%"
set log_dir=%host%\%date_dir%
if not exist %log_dir% md %log_dir%
set logfile="%host%\%date_dir%\%time_str%.log"
@REM log ping info
echo %date:~0,-3% %time:~0,-3% %%A>>%logfile%
echo %date:~0,-3% %time:~0,-3% %%A
timeout /t 1 /nobreak>nul
goto loop
)
pause>nul