[RedHat] Timestamp van alle bestanden veranderen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Josh
  • Registratie: December 2002
  • Laatst online: 11-12-2021

Josh

A Cloggy in Norway

Topicstarter
De tijd van een van onze RedHat machines stond verkeerd ingesteld tijdens installatie en daardoor zijn er bestanden gecreeerd met een toekomstige datum.

Ik heb de klok (en ook de hwclock) op de juiste datum en tijd gezet. Maar er zijn nu programma's geinstalleerd die een licentie opvragen bij onze flexlm server en die klaagt dat de tijd is teruggezet en dat dit niet toegestaan is.

Het blijkt dat flexlm de timestamp van een aantal mappen/bestanden checkt. Welke bestanden en mappen is onduidelijk.

Het lijkt me logisch dat ik de timestamp van alle bestanden weer netjes wil maken. Ik heb de juiste bestanden gevonden via:

code:
1
touch time.now; find . -newer time.now

Daaruit volgt een lijst met bestanden in onder andere /home, /opt, /dev, /sys, /var, /etc. Nu kan ik de timestamp van alle bestanden veranderen, dat is niet het probleem. Het probleem is dat ik geen idee heb wat dit zal doen met de linux installatie.

Gaat dit problemen opleveren?

Acties:
  • 0 Henk 'm!

Verwijderd

Nee, dat gaat geen enkel probleem opleveren :)

Acties:
  • 0 Henk 'm!

  • Josh
  • Registratie: December 2002
  • Laatst online: 11-12-2021

Josh

A Cloggy in Norway

Topicstarter
Verwijderd schreef op maandag 27 februari 2012 @ 08:27:
Nee, dat gaat geen enkel probleem opleveren :)
Dat klinkt erg overtuigend!

Dus als ik het volgende gebruik:

code:
1
2
cd / 
touch time.now; find . -newer time.now -execdir touch '{}' \;


Komt alles goed? Er zijn diverse andere programma's geinstalleerd. Wellicht dat deze de timestamps wel op een of andere manier gebruiken. Bovendien vraag ik mij af of ik uberhaupt wel de timestamp kan veranderen van bestanden die in gebruik zijn.

Acties:
  • 0 Henk 'm!

  • sam.vimes
  • Registratie: Januari 2007
  • Laatst online: 08-06 08:44
Je zou voor de zekerheid met
Bash:
1
find -depth -exec stat -c '%y %n' {} + > backupfile

de timestamps van de te 'touchen' files kunnen vastleggen, zodat je ze later met
Bash:
1
2
3
4
5
while read date time dst name
do
  echo "[$date $time $dst] $name"
  touch -d "$date $time $dst" $name
done < backupfile

weer kunt terugzetten.

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 11:10

Hero of Time

Moderator LNX

There is only one Legend

Als je trouwens wilt weten welke bestanden het programma uitleest, draai 't dan via 'strace'. Zo heb ik op m'n werk gevonden waar een bestand mogelijk geschreven werd waar niet mag. Ik zag in de logs alleen file not found, niets over permission denied voor schrijven (en dan ook niet waar 't was). Met strace vond ik 't wel.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

Verwijderd

Hero Of Time schreef op maandag 27 februari 2012 @ 19:20:
Als je trouwens wilt weten welke bestanden het programma uitleest, draai 't dan via 'strace'. Zo heb ik op m'n werk gevonden waar een bestand mogelijk geschreven werd waar niet mag. Ik zag in de logs alleen file not found, niets over permission denied voor schrijven (en dan ook niet waar 't was). Met strace vond ik 't wel.
En mocht strace falen omdat de software het gebruik van debugging tools blokkeert (ja, het komt voor), dan kun je eventueel ook via auditd achterhalen wat een proces allemaal probeert te doen.

Acties:
  • 0 Henk 'm!

  • MartinMeijerink
  • Registratie: Juli 2008
  • Laatst online: 03-10 21:32

MartinMeijerink

Computerrorist

Als je het netjes wilt doen, reken je ff uit hoeveel seconden de klok te ver vooruit stond, en tik je de volgende oneliner in:
find /|while read;do touch "$REPLY" -t$(date --date=@$[$(date -r "$REPLY" +%s)-3600] +%Y%m%d%H%M.%S);done

Waar hier 3600 staat vul je dan de gewenste aantal seconden in, en zo kloppen alle tijden weer precies.

An unbreakable toy is useful to break other toys


Acties:
  • 0 Henk 'm!

  • Josh
  • Registratie: December 2002
  • Laatst online: 11-12-2021

Josh

A Cloggy in Norway

Topicstarter
MartinMeijerink schreef op maandag 27 februari 2012 @ 21:04:
Als je het netjes wilt doen, reken je ff uit hoeveel seconden de klok te ver vooruit stond, en tik je de volgende oneliner in:
find /|while read;do touch "$REPLY" -t$(date --date=@$[$(date -r "$REPLY" +%s)-3600] +%Y%m%d%H%M.%S);done

Waar hier 3600 staat vul je dan de gewenste aantal seconden in, en zo kloppen alle tijden weer precies.
Daar heb ik ook aan gedacht, maar de klok is vorige week op correcte tijd gezet en heb geen referentiepunt meer. Het zou mooi zijn als er ergens een log is die precies op het tijdstip aan het loggen is geweest toen de klok veranderd werd.

[ Voor 9% gewijzigd door Josh op 28-02-2012 10:00 ]


Acties:
  • 0 Henk 'm!

  • MartinMeijerink
  • Registratie: Juli 2008
  • Laatst online: 03-10 21:32

MartinMeijerink

Computerrorist

Ok, verder zie ik nog een klein onvolkomenheidje in mijn script, als hij een symlink tegenkomt, wordt niet de timestamp van de symlink een uur teruggezet, maar het bestand waar hij naartoe linkt (deze wordt vanwege de symlink dan dus 2 uur teruggezet):
lrwxrwxrwx 1 sepp sepp  8 2012-02-28 16:19 test -> testfile
drwxr-xr-x 2 sepp sepp  6 2012-02-28 15:19 testdir/
-rw-r--r-- 1 sepp sepp 11 2012-02-28 14:19 testfile

An unbreakable toy is useful to break other toys


Acties:
  • 0 Henk 'm!

  • Josh
  • Registratie: December 2002
  • Laatst online: 11-12-2021

Josh

A Cloggy in Norway

Topicstarter
Klopt Martin, maar dat heb ik niet ondervonden als een groot probleem. Ik heb het verschil ongeveer uitgerekend aan de hand van de logs en jouw voorstel gebruikt.

Er kwam een hele rits met files die niet 'getouched' konden worden, maar ik heb geen problemen meer! de flexlm zeurt in ieder geval niet meer hierom.

Ik dank u allen voor de hulp!

Acties:
  • 0 Henk 'm!

  • MartinMeijerink
  • Registratie: Juli 2008
  • Laatst online: 03-10 21:32

MartinMeijerink

Computerrorist

Afbeeldingslocatie: http://gfx.zutphen.nu/like.png Martin Meijerink and 3 others like this.

An unbreakable toy is useful to break other toys

Pagina: 1