人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

スクリプトで「ホスト名」+「日付文字列」のファイルを作成するにはどのようにすればよいでしょうか?
作成したいファイル名の例:hostname_yyyymmddhhmmss.log
(Vertex_201005262330.logなど)
ホスト名と日付時刻を取得してログファイルを作成するスクリプトを作成したいのです。

環境は、一般的なUNIX(Linux, Solaris, HP-UX, BSDなど)とWindows(XP, W7, 2003, 2007など)での例をご掲示頂ければ幸いです。

●質問者: atmcjj
●カテゴリ:コンピュータ
✍キーワード:BSD HP-UX Linux solaris UNIX
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Loopy
●15ポイント

touch `hostname`_`date +%Y%m%d%H%M%S`.log



http://sonic64.com/2003-10-29.html

◎質問者からの返答

簡潔ながらも、「そうか、touchがあったか・・・」とちょっと目鱗です。


2 ● zaxaxaz
●32ポイント

UNIXの場合は、

filename="`hostname`_`date +%Y%m%d%H%M%S`.log"

こんな感じで、Windowsの場合は、


set fdate=%date:~-10,4%%date:~-5,2%%date:~-2,2%
set _ftime=%time: =0%
set ftime=%_ftime:~0,2%%_ftime:~3,2%%_ftime:~6,2%
set filename=%fdate%%ftime%.log

これでfilenameにファイル名が入ってきます。

http://codezine.jp/unixdic/w/date/

http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdat...

◎質問者からの返答

両OSについて回答頂きありがとうございます。


3 ● fenstrial
●33ポイント ベストアンサー

Windowsの場合

cmd.exeの機能とWindowsの環境変数を使用しています

type nul >>によって、空のファイル(nul)の内容を追記するという形をとりました。

時刻部分は以下のサイトを参考にしました。

http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdat...

Windows Vistaで検証。


setlocal

set time2=%time: =0%

type nul >> %COMPUTERNAME%_%date:~-10,4%%date:~-5,2%%date:~-2,2%%time2:~0,2%%time2:~3,2%%time2:~6,2%".log"

endlocal


Unixの場合

シェルの機能とhostname,dateコマンドを使用しています。

ubuntu10.04で検証。


#!/bin/sh

touch `hostname`_`date "+%Y%m%d%H%M%S"`.log

◎質問者からの返答

丁寧な説明の上、検証までして頂きありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ