2016-05-04 12 views
2

ich häufig den Befehl date mit --date Option auf Linux-Servern verwenden, wieAIX Äquivalent für 'Datum --date'

date --date="3min" 

jedoch die -d/- Datum Option nicht tun auf verfügbar scheint AIX-Server: https://www.ibm.com/support/knowledgecenter/ssw_aix_61/com.ibm.aix.cmds2/date.htm

Ist es möglich, und wie können wir das gleiche Ergebnis wie der folgenden Befehl erhalten:

date --utc --date "now $TIMEDELTA" +"%Y%m%d-%H")` 

in einer AIX-Umgebung?

Ich habe keinen Root-Zugriff auf den Server und kann dies auch nicht tun.

+1

Ich denke, das ist das gleiche Problem, das Solaris konfrontiert. Sie müssen Perl oder ein anderes Werkzeug verwenden, um die Daten zu verarbeiten. Siehe [äquivalentes Datum von GNU bis Solaris] (http://stackoverflow.com/q/17815327/1983854). – fedorqui

+0

Die Website [Super User] (http://superuser.com/) ist der beste Ort für Fragen. –

Antwort

2

Einige Optionen in den Sinn kommen:

  1. Herunterladen GNU date zu Ihrem Home-Verzeichnis und dort kompilieren. Vorteile: Sie erhalten die volle Macht des GNU-Datums, mit Nachteile: erfordert Kompilierung und Verwaltung, nicht sofort für andere Benutzer oder Maschinen.

  2. Emulieren Sie das Verhalten mit PERL, TCL, PHP, MySQL oder einer anderen Hochsprache. Pros: Du bekommst eine Menge Power, ohne etwas installieren zu müssen, aber mit Cons: Du musst die Sprache kennen und bist davon abhängig, dass sie da ist.

  3. Verwenden Sie eine Shell-basierte Lösung, wie datecalc. Wenn Ihre $TIMEDELTA in Tagen ist, können Sie verwenden: datecalc $(date +'%Y %m %d') + $TIMEDELTA. Vorteile: keine externen Tools benötigt, mit Nachteile: funktioniert nur auf Tagesstufe Granularität und ist nicht sofort für andere Benutzer oder Maschinen verfügbar.

  4. Zweck Erstellen Sie Ihr eigenes kleines Programm mit strptime, getdate oder anderen C-Einbauten. Pros: löst entschieden Ihr Problem, mit Nachteile: nicht sofort für andere Benutzer oder Maschinen verfügbar, müssen Sie lernen, C, nicht flexibel vorwärts.