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

linuxでcron設定を使ってフォルダ「AAA」からフォルダ「BBB」へ1時間おきにファイル「ZZZ」をコピーしたいと思います。

その際に、たとえば2006年8月23日21時時点でのコピーだとしたらファイル名に「200608232100ZZZ」という名前にリネームしたいと思っています。

21時時点といっても、サーバー時間と考えていただいて結構です。
サーバー時間を取得してそれと「Z」を絡めてリネームしたいということです。

そのジョブファイルの記述を教えていただきたく思います。


当方、Linuxに詳しくないため、全く意味が通らない質問に
なっていたらもうしわけないです。


●質問者: nintendogs
●カテゴリ:コンピュータ
✍キーワード:2006年 8月23日 aaa Linux しわ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● b-wind
●75ポイント

#!/bin/sh

BASEDIR=/somewhere/ # ここを編集する

OLDFILE=$BASEDIR/AAA/ZZZ

NEWFILE=$BASEDIR/BBB/date +%Y%m%d%H%M`ZZZ

mv "$OLDFILE" "$NEWFILE"

# このままコピーしてもらえれば動きますが、

# BASEDIR 変数の値は実際のディレクトリに書き直してください。

◎質問者からの返答

ありがとうございます!

b-wind さんのおしゃれな書き方と、cyanoさんの回答を合体させると成功しました。

ちょっとdateの前の「'」が足りないようでした。

本当に助かりました!!

これからlinux頑張りますのでまた質問の際には知恵をお貸しくださいませ。


2 ● cyano
●75ポイント

mv AAA/ZZZ BBB/`date +%Y%m%d%H%M%S`ZZZ

これでAAAにあるファイルZZZをBBBに20060824214200ZZZという感じの年月日時分秒にリネームしつつ移動しますです

`と'を間違えないように。

あとAAAとBBBはフルパスで指定すること

フォルダAAAにあるファイル(名前や数は毎回違う)のすべてについて個別に同じ対応をするならforeachでループを作ります。

http://man.splitbrain.org/date(1)/ja

◎質問者からの返答

ありがとうございます。

結果はb-wind さんへのコメントを見てください!

本当にありがとうございました!!

関連質問


●質問をもっと探す●



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