La rédaction d'un démon de Perl

  • jammer2552
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Juil 23, 2006
  • Messages: 139
  • Status: Offline

Message Avril 19th, 2009, 7:51 pm

Droit, Ive a déjà essayé cette option, et Ive a perdu une quantité importante de cheveux. Si une certaine forme de programmation Perl âme-là pouvait m'aider, Im sûr que je pourrais demander à Santa pour vous laisser quelques biscuits à Noël.

Heres ce que je veux que le démon se faire:
Code: [ Select ]
@hosts = ('site1.com','site2.com');
&WriteToLog('STARTED');

for(;;){
foreach $host (@hosts) {
$socket = IO::Socket::INET->new("$host:80");
if (!$socket) {
&WriteToLog("HOST DOWN: $host");
exec("curl -u USERNAME:PASSWORD -d status=\"$host is DOWN\" http://twitter.com/statuses/update.json 1>/dev/null 2>/dev/null");
}else{
close($socket);
}
}
sleep(60);
}

&WriteToLog('STOPPED');

sub WriteToLog {
my($msg) = @_;
@months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
@weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();
$year = 1900 + $yearOffset;
$theTime = "$hour:$minute:$second, $weekDays[$dayOfWeek] $months[$month] $dayOfMonth, $year";
open (MYFILE, '>> /etc/twitter/monitor.log');
print MYFILE "$theTime $msg\n";
close (MYFILE);
}
  1. @hosts = ('site1.com','site2.com');
  2. &WriteToLog('STARTED');
  3. for(;;){
  4. foreach $host (@hosts) {
  5. $socket = IO::Socket::INET->new("$host:80");
  6. if (!$socket) {
  7. &WriteToLog("HOST DOWN: $host");
  8. exec("curl -u USERNAME:PASSWORD -d status=\"$host is DOWN\" http://twitter.com/statuses/update.json 1>/dev/null 2>/dev/null");
  9. }else{
  10. close($socket);
  11. }
  12. }
  13. sleep(60);
  14. }
  15. &WriteToLog('STOPPED');
  16. sub WriteToLog {
  17. my($msg) = @_;
  18. @months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
  19. @weekDays = qw(Sun Mon Tue Wed Thu Fri Sat Sun);
  20. ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime();
  21. $year = 1900 + $yearOffset;
  22. $theTime = "$hour:$minute:$second, $weekDays[$dayOfWeek] $months[$month] $dayOfMonth, $year";
  23. open (MYFILE, '>> /etc/twitter/monitor.log');
  24. print MYFILE "$theTime $msg\n";
  25. close (MYFILE);
  26. }


Bien obligé à ceux qui font gagner ma santé mentale restants.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Avril 19th, 2009, 7:51 pm

Afficher de l'information

  • Total des messages de ce sujet: 1 message
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 78 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC