Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: google в Jul 14, 2009, 14:29



Титла: date + ping > logfile.txt
Публикувано от: google в Jul 14, 2009, 14:29
Четох man на ping, харесах си опцията за пинг през определено време, но... няма угодия. Искам и дата :)

Какво се опитвам да постигна:
Интернета вкъщи непрекъснато дропва, но не мога цял ден да вися и да дебна кога и за колко. Искам да натрупам малко данни за това. Реших, че най-лесно ще е от офиса да пусна една от машините да пингва домашната машина и да записва: бачка/не бачка. В идеалния случай, за мен файла ще изглежда така:

Код:
Tue Jul 14 13:22:22 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=49 time=184 ms
Tue Jul 14 13:23:22 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=49 time=111 ms
Tue Jul 14 13:24:22 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=49 time=123 ms
Tue Jul 14 13:25:22 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=49 time=101 ms
Tue Jul 14 13:26:22 64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=49 time=185 ms

Въпроса ми е, как в една команда да събера това нещо? Скриптове не ми се пишат, нито ми се добавят cron jobs, искам да мога да го пускам и спирам на воля, директно от конзолата да дописва в даден файл (нещо като tail -f) без да затрива предишните записи в него...

Втората част, за пинга е ясна:
Код:
ping -i 60 google.com

Въпроса е как да логвам И дата/час в която е изпълнен въпросния пинг...

Благодаря ви за съдействието  ;)


Титла: Re: date + ping > logfile.txt
Публикувано от: VladSun в Jul 14, 2009, 15:47
http://www.linux-bg.org/forum/index.php?topic=28191.0


Титла: Re: date + ping > logfile.txt
Публикувано от: radoulov в Jul 14, 2009, 15:50
Ако съм разбрал правилно:

Код
GeSHi (Bash):
  1. ping ... |
  2.  while IFS= read -r; do
  3.    printf '%s %s\n' "$(date)" "$REPLY"
  4.  done

Ако искаш изхода във file:

Код
GeSHi (Bash):
  1. ping ... |
  2.  while IFS= read -r; do
  3.    printf '%s %s\n' "$(date)" "$REPLY"
  4.  done > outfile

Във file и STDOUT едновременно:

Код
GeSHi (Bash):
  1. ping ... |
  2.  while IFS= read -r; do
  3.    printf '%s %s\n' "$(date)" "$REPLY"
  4.  done |
  5.    tee outfile


Титла: Re: date + ping > logfile.txt
Публикувано от: ANTIADMIN в Jul 14, 2009, 17:05
Радулов, дишай, разбрахме колко си добър на пърл и баш :)
Гошо, що не си направиш програмата/демек командата на шел/ и после > файл(може за име даже да използваш енв $дейт)
и после ls -lt в директорията с редиректнати файлове, да речем /home/google/moqt_kriv_makaron
;D Тея компУтри не вървят на вода, хабете малко процесорно време :(
И защо по ягодите не разбереш причината за падането на нета?


Титла: Re: date + ping > logfile.txt
Публикувано от: radoulov в Jul 14, 2009, 17:47
Радулов, дишай, разбрахме колко си добър на пърл и баш :)
[...]

OK,
няма да се обаждам повече  ;D