1 Mettre à l'heure la machine
1.1 DATE
Manière brutale :
# date "+%D" -s "05/11/07"
# date "+%T" -s "10:54:00"
1.2 NTPDATE
Ajuste progressivement l'heure.
Attention, il faut préalablement arrêter le serveur NTP.
# /etc/init.d/ntp-server stop
# apt-get install ntpdate
# ntpdate europe.pool.ntp.org
Une autre façon bourin de s'en sortir :
# crontab -e
0 * * * * /usr/sbin/ntpdate-debian >/dev/null 2>&1
Les flux de sortie standard et d'erreur étant redirigés, la CRONTAB n'enverra pas de mail.
1.3 NTP
La commande ntpq -p permet de voir ('*') sur quel serveur on se
synchronise et s'il y en a un.
# apt-get install ntp
# ntpq -p
# /etc/init.d/ntp start
2 Calcul des dates
2.1 DATE
Avec l'option -d on peut enchainer les +/-.
$ date -d "2007/01/01" 21:40:57Z +200 days" "+ %s" -u
$ date -d "1970/01/01" +1193795341 sec" -u
$ date "+ %j"
2.2 PERL
#!/usr/bin/perl
use Date::Calc qw(:all); # du paquet libdate-calc-perl.deb
# Différence de 2 dates :
# Les champs ne sont pas bornés. On peut exprimer une date en secondes par exemple.
($Dd,$Dh,$Dm,$Ds) = Delta_DHMS(
$startAnnee, $startMois, $startJour, $startHeure, $startMinute, $startSeconde,
$stopAnnee, $stopMois, $stopJours, $stopHeure, $stopMinute, $stopSeconde);
# différence en secondes
$diffSecs=$Dd*86400+$Dh*3600+$Dm*60+$Ds;
|