GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Fügen Sie eine bestimmte Zeit hinzu, während Sie den Linux-Befehl date verwenden

Unter Linux

Verwenden Sie einfach -d (oder --date ), um etwas mit den Daten zu rechnen:

date -d '+1 hour' '+%F %T'
#    ^^^^^^^^^^^^

Zum Beispiel:

$ date '+%F %T'
2013-04-22 10:57:24
$ date -d '+1 hour' '+%F %T'
2013-04-22 11:57:24
#           ^

Unter Mac OS

Achtung, das obige funktioniert nur unter Linux, nicht unter Mac OS.

Unter Mac OS lautet der entsprechende Befehl

date -v+1H

Linux und macOS in einem einzigen Befehl

Wenn Sie Skripte schreiben müssen, die sowohl auf Linux-Servern als auch auf macOS-Workstations funktionieren, können Sie den Fehler des ersten date stumm schalten aufrufen und mit 'ODER' verknüpfen (|| ) mit dem anderen. Es spielt keine Rolle, was zuerst kommt.

date -u -d "+${max_age}Seconds" +"%Y-%m-%dT%H:%M:%SZ" 2>/dev/null || \
date -u -v "+${max_age}S"       +"%Y-%m-%dT%H:%M:%SZ"

Beispielsweise lädt diese Bash-Funktion eine Datei in AWS S3 hoch und setzt einen Expires: und Cache-Control: Kopfzeilen.

s3_upload_cache_control(){
  local max_age_seconds="${1}" ;shift         # required
  local bucket_path="${1}"     ;shift         # required
  local filename="${1}"        ;shift         # required
  local remote_filename="/${1:-${filename}}"  # optional
  local fmt="+%Y-%m-%dT%H:%M:%SZ"
  aws s3 cp                                                          \
    "${filename}"                                                    \
    "s3://${bucket_path}${remote_filename}"                          \
    --expires                                                  "$(   \
      date -u -d "+${max_age_seconds}Seconds" $fmt 2>/dev/null  ||   \
      date -u -v "+${max_age_seconds}S"       $fmt               )"  \
    --cache-control max-age=$max_age,public                          \
    --acl public-read
}


Wenn wir im Shell-Skript Zeit hinzufügen müssen, verwenden Sie den folgenden Befehl und das Datumsformat (PUT TIME before DATE string)

date -d"11:15:10 2017-02-05 +2 hours" +"%Y-%m-%d %H:%M:%S" dies wird 2017-02-05 13:15:10 ausgeben

Dies führt nicht zu einem korrekten Datum, ohne UTC funktioniert es nicht


Linux
  1. Planen Sie eine Aufgabe mit dem Linux-Befehl at

  2. Eine Einführung in die Verwendung von tcpdump auf der Linux-Befehlszeile

  3. Verwenden der Kraft in der Linux-Befehlszeile

  4. Verwenden des Befehls timedatectl zum Ändern von Uhrzeit und Datum auf einem RHEL7-Linux-System

  5. Verwendung des Linux-Touch-Befehls + Beispiele

Formatierungstricks für den Linux-Datumsbefehl

11 Nützliche Beispiele für Linux-Datumsbefehle

Tutorial zur Verwendung des Timeout-Befehls unter Linux

Tutorial zur Verwendung des letzten Befehls im Linux-Terminal

Beispiele für Linux-Datumsbefehle

Verstehen des Zeitbefehls in Linux