• 締切済み

ESXiのdateコマンドについて

ESXiにSSHで接続してスクリプトを作っているのですが、現在からn日前の日時をを取得する方法がわかりません。 centOSなどでは、date --date '7 day ago' '+%Y-%m-%d' などでできるのですが、ESXiではできません。 1日の前まででは、ymdtime=`TZ=JST+15 date '+%Y%m%d%H%M%S'` などでできるのですが、それ以上だと当然できません。何か良い方法はありますか?

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

GNU date を入れる.

senneko
質問者

お礼

回答ありがとうございました。 GNU date で試してみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Solaris9でdateコマンドの結果がおかしい

    sun fire + Solaris9でシェルを作成しました。 目的は、1ヶ月前のログを削除する です。 で、こんなシェルを作成しました。 #!/bin/sh # logmove.sh DAY=`date +%d` RMDAY=`env TZ=JST+735 date +%Y%m%d` # 24H*31Day-9H=735 RMFILE=log_${RMDAY}.* (以下省略) しかし、この結果、$RMDAYには今日の日付しか返ってきません。これを RMDAY=`env TZ=JST+159 date +%Y%m%d` # 24H*7Day-9H=159 とすると、ちゃんと1週間前の日付が返ってきます。 dateの仕様なのか、シェルの仕様なのか良くわかりません。解決策はないでしょうか。

  • シェルスクリプト:N日前の日付の取得

    #/bin/sh DAY=$1 TIME=`date --date '"$DAY" day ago' +%Y%m%d` echo $TIME 上を実行しても$DAYが展開されず、 date: invalid date '"$DAY" day ago' と、dateコマンドがエラーを返してきます。 $DAYを展開させるためにはどうクォートすればいいのでしょうか?

  • dateコマンドで一日前の日付を出したい

    Linuxにおいて、4月1日に出力されたファイルが3/31の内容を含んでいるため、一日前の日付でファイルの転送を実施しようと考えております。 任意のファイルのタイムスタンプを「honjitu」に格納し、 ①honjitu=`date -r file1 +%Y%m%d` 次に「honjitu」の一日前の日付を「kyou」に格納したいです。 ②kyou=`date -d ${honjitu} '-1 day' +%Y%m%d` といった感じで実行しますと以下が表示されます。 date: invalid option -- '1' Try 'date --help' for more information. ②をどのように修正すれば、思った通りにいきますでしょうか。 ご教示よろしくお願いいたします。

  • HP-UXのdateコマンドについて

    いつも拝見させていただいております。今回初めて投稿させて頂きます。 現在ちょっとこまったことがありご質問させて頂きました。 Linuxのコンソール上で `date --date '1 years 1 months ago' +%Y%m` と打つと13ヶ月前の年月が表示されるのですが、HP-UXのコンソールで同じように打ってもコマンドが間違っていて、思ったように答えが返ってきません。 HP-UXで13ヶ月前をコンソール表示させるためにはどのようにコマンドを打てばいいのでしょうか。 ご存知の方がいたら、ご教授お願いできないでしょうか。どうか宜しくお願い致します。

  • yyyy/mm/dd(aaa) hh:mm

    http://www9.plala.or.jp/oyoyon/html/script/modified.html を参考にしているのですが、 yyyy/mm/dd(aaa) hh:mm のように、「00時00分」まで表示するにはどうすればいいでしょうか? ----------------------------------------- <script type="text/javascript"> <!-- var day = new Date(document.lastModified); var y = day.getFullYear(); var m = day.getMonth() + 1; var d = day.getDate(); var week = new Array("日", "月", "火", "水", "木", "金", "土"); var w = week[day.getDay()]; if (m < 10) m = "0" + m; // 数値が1~9の時には if (d < 10) d = "0" + d; // 0 を追加してそろえる document.write("更新日時: " + y + "/" + m + "/" + d + " (" + w + ")"); // --> </script> ----------------------------------------- ここまでできたのですが、時間の表示方法がわかりません。 コピペで作ったので、javascriptは理解できていません。 ご教授よろしくお願いします。

  • 3日以前のバックアップを削除する

    /etc/crontabで以下のbackup.shを毎晩実行するのですが、 3日以前のものは毎回消していく場合は以下のような、 少し初心者的な書き方しか現在分からないのですが、 他にもし良い書き方があれば、教えていただけますでしょうか? よろしくお願いします。 #!/bin/sh DATE_1=`date -d '1 day ago' +%Y%m%d` DATE_2=`date -d '2 days ago' +%Y%m%d` DATE_3=`date -d '3 days ago' +%Y%m%d` if [ test_$DATE_2.tar.gz ]; then mv -f test_$DATE_2.tar.gz test_$DATE_3.tar.gz fi rm -f test_$DATE_3.tar.gz if [ test_$DATE_1.tar.gz ]; then mv -f test_$DATE_1.tar.gz test_$DATE_2.tar.gz fi if [ test.tar.gz ]; then mv -f test.tar.gz test_$DATE_1.tar.gz fi tar zcvf test.tar.gz /usr/local/test

  • 指定日の前日を求める

    シェル実行時にわたす第一引数YYYYMMDDから 前日のYYYYMMDDを求めたいのですが、 export SYS_YEARPRE=`date --date '$1 1 days ago' +%Y%m%d` これだとエラーが出てしまいます。 dateの追加いかがが悪いのでしょうか?

  • HPUX 11iでの日付について

    AIX環境では、「env TZ=JST+63 date」コマンドで 三日前の日付が取得できたのですが、 HPUX 11iでは日付が取得できません。 結果としてはTZがJSTからEDTになってしまいます。 どうにかして、3日前を取得することは出来ませんでしょうか? 確認したところJST+では24までしか対応しておりませんでした。 HPUX 11i [TEST:root]env TZ=JST+63 date Wed May 31 03:42:48 EDT 2006 AIX 5.1 [TEST2:root]env TZ=JST+63 date Sun May 28 16:46:54 JST 2006

  • shで書いたシェルスクリプトで`とか'とかの中で変数を使いたい。

    標題の質問ですが、gnu dateコマンドを使って数日前の日付を取得しているのですが、 こんな具合: DATE=`date --d '1 day ago'` 何日前の日付を取得するかを引数で決めたいのです。 しかし DATE=`date` --d '$1 day ago'` これでは当然上手く行きません。 上手いことエスケープして変数を使用する方法を教えてください。 シェルはshです。

  • timedatectlコマンドに関して

    linux(CentOS7)のtimedatectlコマンドに関して 最初見たときにデフォルトが以下のような感じでした。 timedatectl Local time: Mon 2017-02-17 13:43:53 JST Universal time: Mon 2017-02-17 04:43:53 UTC RTC time: n/a Time zone: UTC (JST, +0900) NTP enabled: n/a NTP synchronized: yes RTC in local TZ: no DST active: n/a 「Local time」だけJST でyum updateした後に、「Local time」もUTCとなり時刻がおかしくなりました。 治す方法を探していると、 timedatectl set-timezone Asia/Tokyo で直せと書いているのですが、 それをすると時刻の刻みは治りますが、元通りでないのが釈然としません。 timedatectl Local time: Fri 2017-02-17 16:04:21 JST Universal time: Fri 2017-02-17 07:04:21 UTC RTC time: n/a Time zone: Asia/Tokyo (JST, +0900) NTP enabled: n/a NTP synchronized: no RTC in local TZ: no DST active: n/a 元通りにする方法はありませんか。 それと、 Time zoneをUTCにしてローカルとしてJSTにするのと、 Time zoneそのものをJSTにするのとでは何が違いますか? 以上、よろしくお願いします。