web-dev-qa-db-fra.com

Ajouter x secondes à la date actuelle sous Linux

J'ai deux machines Linux (CentOS 6.0) ici et je dois ajouter (ou supprimer) 5 secondes à l'heure actuelle. Au final, mes deux machines auraient un écart de 5 secondes (l'une avec le bon moment et l'autre avec 5 secondes plus ou moins).

Je sais que je peux changer la date avec cette commande:

date -s "DD MMM YYYY HH:MM:SS"

mais je dois être précis et il sera difficile pour moi d'exécuter la commande au bon moment.

Je voudrais donc savoir s'il existe un moyen en général d'ajouter 5 secondes à l'heure actuelle, un peu comme lorsque vous choisissez votre fuseau horaire par rapport à Greenwich (+5 heures dans mon cas).

18
Cocotton

Vous pouvez ajouter 5 secondes à l'heure actuelle dans une seule commande à l'aide de date -s "5 seconds".

28
Jonathan Callen

En fait, Linux est livré avec une fonction pratique pour renvoyer une heure plus un modificateur.

date --date='5 seconds'

Vous pouvez le tester à partir de la ligne de commande avec un simple

date && date --date='5 seconds'

En utilisant cela, vous pouvez simplement écrire un petit fichier batch qui définit une variable à l'heure souhaitée, puis exécute la commande set.

EDIT: voici un script bash qui le fera pour vous. Il doit être exécuté en tant que root

#!/bin/bash

NEWDATE=`date +%T --date '5 seconds'`;
date +%T -s "$NEWDATE";
15
Nathan Cox