• 締切済み

Kシェルに関する質問です!

Kシェルに関する質問です! あるディレクトリーに ファイルをFTP送信したいです。 送信するファイルは、日々作成される 圧縮ファイル(例.20100715_kkk.tar.Z)です。 しかし、ディレクトリーに格納できるのは、 容量の関係上、最新の圧縮ファイル5つまでです。 5つ以上になるとFTP送信するまえに 一番古い(圧縮ファイルの名前の日付で判断??作成日時で判断??)圧縮ファイルを削除して それからFTP送信をします。 こうすることで常に最新の5つをキープできます!! どのようなシェルを作ればいいですか? 削除の判断と実際の削除をどうすればいいのか 詳しく教えてください。

みんなの回答

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.3

deleteコマンドが使えるのですから、5日より以前のファイルを削除するようにすればいいだけです。

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

「シェルスクリプトを作る」だけなら, find でできれば簡単だねぇ. こんなピンポイントな作業しかできないシェルは要らんが.

kou_ha_otu
質問者

補足

ちなみに 削除するのは、FTPの送り先ディレクトリーです。 つまり FTPしている間、findコマンドは使用できません。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

圧縮ファイルのファイル名が一定の規則に従うなら、今日から五日より前までのファイルを削除するようにしておけばいいのでは。 土日や祝日には転送しないなら、最大2週間前くらいまでのファイルを削除するようにしておけばいいのでは。

kou_ha_otu
質問者

補足

5日たてば削除するという処理を したいんですが、 FTP送信先のファイルを削除するので FTP実行中に5日前のファイルは削除はできないです findコマンドが使えないですし・・ deleteコマンドしか使えないので 困っています。

関連するQ&A

  • Kシェル 圧縮方法について

    Kシェル 圧縮方法について /backup/db/dmpというディレクトリーがあります。 (dmp配下には色々ファイルが置かれています) このdmpディレクトリーを圧縮して その一つ上のdb配下に圧縮ファイルをおきたいです。 どうすれば圧縮できますか? 圧縮ファイル名は、 dsn333_yyyymmdd_tar.Zとしたいです。 (yyyymmddは、今の日付を入れたいです。(可変です))

  • シェルスクリプトの自動化で動作が変なのですが・・・

    いつも大変お世話になります。 シェルスクリプトでtarコマンドを書き、このファイルをcrontabで自動化しております。 設定した時間になるとcrontabが実行され、ファイルが生成されるのですが、ファイル容量が少なく、tarコマンドがきちんと実行されていない様なのです。 あるディレクトリをまるごと圧縮しているのですが、容量は1GB程あり、これを tar czvf /directory_name1/file_name1.tar.gz /directory_name2/ というコマンドで圧縮しております。 直接このコマンドを実行するとちゃんと圧縮され、約940MBの容量になります。しかし、crontabでシェルスクリプトを実行すると45バイトのファイルが生成されて終ってしまいます。 なぜなのか、さっぱり原因が分かりません。 どなたかご教授の程、何卒、宜しくお願い致します。

  • シェルを自動起動したい

    現在、solaris系のシェルを組んでいます。サーバのあるディレクトリのデータを、ある時間がきたら自動的に指定のディレクトリにバックアップするようにしたいのですが、たとえば簡単に、圧縮コマンドの tar -cvf ***.tar /back/**** のほかに、時間指定のコマンドを、どう記述すればいいのでしょうか?それとも他のシェルが必要になるのでしょうか??

  • シェルについてご教授ください

    こんばんは。 度々すみません、 RedhatLinuxにてbashを使用しシェルを作成する 必要があります。 仕様としては、先ず既存ファイルをtarで圧縮し保管します。 但しファイル名には日付をつけ、「7日以上経過したファイル」 は不要とし削除したいのです。 あつかましくも、サンプルを掲載していただく事は可能でしょうか?。 初学者ですが、期日が明日朝までのため・・。 今回を機に勉強したいと思いますw。 よろしくお願いします。

  • シェル作成手伝ってください><

    会社に入社して3年目。 シェル作成はまだド素人であり、期日がもうせまっており とても困っております。 よかったら助けてくれませんか??? 内容は下記を参照ください。 <シェル内容> ・coreファイル削除をシェルにて削除したい。 ・削除対象ディレクトリ←ここにファイルが作成されます。 →/home/xxxx/配下 できればfindにてcoreファイルを参照してファイルがあれば 削除し、なければそのまま何もせずに終了する。 ちなみにUNIXでcshで作成してほしいと言われました。 ついでといっては失礼と思いますが、続けてif文のココもわからないのでできたら教えてください。 if ( 変数 )then 変数がわからんです。 本当に唐突的ですがお早めの回答よろしくお願いいたします。

  • FTPの自動シェル

    FTPで任意のディレクトリ内にある更新時間が一番新しいファイルだけDLできるシェルを作りたいのですが、 どなたか教えてください。

  • Kシェルでファイル削除処理

    kシェルで、ファイルを1行ずつ読み込み、記述されたファイルを削除する処理を作成したいのですが、ワイルドカード指定にも対応したいです。最初はrm -r で実施しようとしたのですが、これだとディレクトリも削除されてしまうので使えませんでした。rm -fでやった場合も削除に失敗した場合のエラーハンドリングが難しく困っています・・・。 何か良い方法はないでしょうか? lsコマンドの出力結果を再度読み込み、ファイルだったら消すという方法ぐらいしか思い浮かばず・・・。

  • シェルの中からシェルを呼び出して判定

    UNIXで以下のようなシェルが動作しております。 #!/bin/sh su abcdef -c './GHI'; err=$? if [! $err -eq 0 ] then echo エラーが発生しました fi exit このシェルは「abcdef」ユーザに移ってカレントディレクトリのシェルコマンド「GHI」の結果を判定するというものです。 UNIX上では問題なく動作しております。 これをLinuxでそのまま動作させると「err」に「su abcdef」というユーザ切替コマンド自身の正否を格納しているようです。 「'」でくくられた範囲内で結果をファイルに格納したりして、その後ファイルの中を見て判断するとうまくいくことは分かっておりますが、出来たらファイルなど使いたくありません。 このような場合、みなさんどうしてるんでしょうか? よく出てくるパタンだと思うのですがどうしても良い対処が見つかりません。 どうか宜しくお願いします。 Linuxは「miracle-Linux2.0」というOSです、いわゆるRedHat系です。

  • Cシェルでの質問

    シェルについての質問ですが、 1、nkdir /a/$b/$b`date+'%Y'` とディレクトリを作り 作成したディレクトリにファイルを移動したいのですが、 ディレクトリを作る際に、 /$bのしたに$bという名前のファイルしかでず、 うまく出来ません。 2、2つのファイル、a,bの差分をとるシェルを作りたいのですが、考えれば考えるほどどのような切り口で作ればよいか解らなくなっています。おそらくdiffコマンドを使うのでは?という所までは来ているのですが、その結果ファイルを使う必要があり、更に園ファイルを編集しなければならなく、訳がわからなくなっている状態です。 この2点、どちらかおわかりの方、どうかご教授のほどよろしくお願い致します。

  • kshについて教えていただけないでしょうか。

    バックアップを取りたいと考えていて、複数のディレクトリ(配下のファイルなどすべて)を一つの『tar.gz』にしてAフォルダに格納するようなシェルを作りたいのですが方法わかりません。教えていただけないでしょうか。

専門家に質問してみよう