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

サーバーに事前にアップロードしておいた更新ファイルを、指定時間に自動的にファイル名を入れ替えて更新するにはどういう方法がありますか?できればファイル名だけでなくディレクトリ名にも対応できるものを探しています。

「index.html」を更新するために「index20050101.html」を事前にアップしておく。

指定した日(例として1月1日)になるとファイル名を自動的に変更し更新。

古いファイルは「index.html_bakup20050101」のようにバックアップとして置いておく。
という感じです。サーバーになにかしらのプログラムを置く必要があるかと思っていますが、他の方法でも実現できればかまいません。

●質問者: koboji
●カテゴリ:ウェブ制作
✍キーワード:1月1日 HTML INDEX アップロード サーバー
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● replicorn
●30ポイント

UNIXサーバであればシェルスクリプトを用意しておき、cronという指定時刻でプログラムを起動してくれるデーモンというものを利用すると簡単です。

cronから毎晩0時にシェルスクリプトを呼び出すように設定しておき、シェルスクリプトのほうでは「今日の日付のファイルがあるか」を判断させます。なければプログラムを終了します。

あった場合は、まずcpコマンドでバックアップを取り、次に指定のファイルをcp -fコマンドで強制的に上書きコピーをします。これは一瞬でも「ファイルが存在しない」状態を作らないようにするためです。

あとは、不要なファイルを削除するなり、バックアップしたファイルを圧縮するなりすれば良いと思います。

◎質問者からの返答

なるほど。具体的にかいていただいてありがとうございます。

出来れば、ブラウザから更新ファイルを指定できるもの、指定日時をプルダウンで選択したりといったプログラムがあればと思っています。

初心者でもインストールすれば使えます、みたいのが一番理想です。


2 ● moritamasahiro
●20ポイント

ファイル名を入れ替えるのではなくて、PerlやPHPで日付から生成したファイル名と一致するというやり方もあります。

ファイルの内容を表示するための「index.php」とその日付に表示したい「index20050101.txt」を事前にアップする。

index.phpにアクセスがあったとき日付からファイル名「index20050101.txt」を生成して、ファイル名が一致するファイルをインクルードする。

この手法であれば、特にファイル名等を変更する必要もありませんし、日付の条件にあうファイルがない場合は標準のページを呼び出すなどもできます。

◎質問者からの返答

なるほど。ありがとうございます。

フリーやシェアウェアのプログラム、市販ソフトウェアなど、サーバーにこれをインストールしたらできるよ、などはないでしょうか。

サーバー内のファイルがリストで見えて、それを選んだ後日付を設定すると更新待ち状態になるような・・・


3 ● izayoimizuki
●20ポイント

moritamasahiro様のやり方で出力するファイルを

HTMLファイルとして完全に成り立っている状態のものを

バックナンバー用のフォルダに出力して

Options +Indexes

と書いた.htaccessをおいてindex.htmlをおかなければ

ファイル名を省略してバックナンバー用のフォルダにアクセスするだけで

Apacheが作成したファイル一覧が表示され

そこからHTMLファイルを選択することで解決できると思います。

◎質問者からの返答

ん〜、ソフトウェアとして既に使えるツールがあればと思っているのですが、出ないようですね。

しかし、こういう方法でもできるという事で勉強させて頂きました。どうもありがとうございました。

これで一旦終了したいと思います。

関連質問


●質問をもっと探す●



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