いつもお世話になっております。
特定のフォルダにコピーされたデータが自動的に処理された後に消えていく処理がサーバー上で動いています。いわば待ち行列のような性質をもったサーバー上の共有フォルダです。
いままでは特定のユーザしかフォルダへのコピーを行わなかったため、ファイル名の重複による上書きが発生して、処理されるべき内容が漏れてしまったということはありませんでした。
フォルダへのコピー処理を複数のユーザに開放しようとすると、ファイル名が重複する可能性、さらには無意識のうちに上書きコピーをしてしまう可能性も高まることが予想されます。
フォルダを分割してバッチファイルでユニークにしてから対象のフォルダに送るという処理を定期的に行ったとしても、分割されたフォルダ内で重複が起こってしまえば解決にはなりません。
対象のサーバーはWindows2012なので、上書きか名前を変えて保存するかの選択が出来るのですが、「ファイルの情報を比較」したうえで、両方のファイルにチェックを入れて「続行」というステップを経るため、間違いも起きやすいと思われます。
願わくば、自動的に両方を残す、というような設定ができれば有難いのですが、どうもそうしたポリシーは見つかりません。
アプリ上で作るファイルならば、作成時に重複チェックしてから書きこむなどいかようにも処理ができますが、扱うファイルが外部から来たファイルで、扱うのがコンピュータ操作に長けてない人も含まれるため、困っています。
同様のケースに遭遇した方がおられましたら、お知恵を頂きたいと思います。
No.1ベストアンサー
- 回答日時:
いくつか解決策があります。
「防ぐ」ということは何を意味するかによって手段が変わります。
1)バージョン管理する
「ファイル履歴」のようなものを導入する。
戻すときは、管理者が個別にファイルを戻すことになります。
2)上書き承認する
gitのようなイメージで、上書きするときはレビューを必要とする
自動的に複数ファイルを作るというものが思いつかないのですが、そもそも上書き禁止にしちゃえば別名で保存しないといけないので、そうするのがいいのでしょうか。
dyna_1550さん。早々にコメント頂きまして有難うございました。
本当であれば、上書き禁止でエラーになれば気が付いてリネームして貰えればよいのですが、上書き禁止属性にするための事前処理(ファイルのプロパティでリードオンリーにする)自体をもれなくさせるのは無理と考えています。
かと言って、フォルダ自体に上書き禁止属性をしてしまうと、今度はコピー自体が出来なくなってしまうし。
スケジューラで定期的にフォルダ内のファイルに上書き禁止属性を立てるなんてこと位しか思い浮かびません。(-_-;)
gitは本格的に使ったことは無いのですが、利用者にgitクライアントを入れる必要があることと、GUIインタフェイスのものですら、日常の運用には特にシステム開発者以外には敷居が高いような気がします。
意識せずに使えるようなものなのでしょうか?
No.2
- 回答日時:
No1です
設計の常とう手段としては、以下だと思います。
・権限をちゃんと定義し、適切に権限を付与する
・バックアップを設定し、「ここまでは戻れる」というポイントを設定する
問題点は、「上書きしてはいけない人がしてしまう」(間違ってというのは理屈にならない)
間違いまでカバーしたいのであれば、「ロールバックできるようにする」だと思います。ようは、「ファイル履歴」をとれるように仕組みを変更する。
物理的なファイルサーバーは、仕組みを構築する必要があると思います。
フリーであれば、ownCloudなどで構築することができます。
お返事遅れて失礼しました。
履歴を取る、というのは大がかりな話になり、そこまでの知識はないので、コピーした時に、重複チェックを行い、同じ名前がある時に(2)(3)といった名前を後ろに付ける、というスクリプトを作ることにしました。スクリプトの引数をファイル名にして、コピー元をそのスクリプトのアイコンにドラッグするとチェックが動くような仕組みにできるかな、と思って作ったらなんとか動きました。
どうもアドバイス有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
バッチファイル XCOPYで上書きしない
その他(プログラミング・Web制作)
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パソコンに詳しい方教えて下さ...
-
Windows上のファイル操作の履歴...
-
指定ファイルをFTPで自動アップ...
-
Zipファイルをエクセルに指定変...
-
バッチファイルでディレクトリ...
-
エクスプローラで表示したファ...
-
ファイルメーカ-プロ2(FileMake...
-
sftp時の公開鍵認証
-
ダンプツールとは?
-
Windows のパソコンについて。 ...
-
/var/ftp/pubについて
-
コンピュータウイルス:感染源特定
-
Batファイルでhostsを追加したい
-
ファイル伝送ソフトを教えてく...
-
拡張子を変えると・・・
-
エクセルのファイルコピー
-
2台のPCのデータ同期をとり...
-
ファイルの復元
-
SystemWalker Centric Manager...
-
TCP/IP のパケットの分断と結合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに詳しい方教えて下さ...
-
Windows上のファイル操作の履歴...
-
Windows のパソコンについて。 ...
-
バッチファイルでディレクトリ...
-
別のフォルダにファイルを移動...
-
Zipファイルをエクセルに指定変...
-
sftp時の公開鍵認証
-
指定ファイルをFTPで自動アップ...
-
ipadで社内ネットワークに接続
-
複数のテキストファイルの特定...
-
ダンプツールとは?
-
SystemWalker Centric Manager...
-
どうしたらいいか教えて下さい。
-
Batファイルでhostsを追加したい
-
アプリケーションが見つかりません
-
Windowsのファイルコピーについて
-
グローバルIPアドレスを取得し...
-
ツールやZIPファイルを使わずに...
-
Windows 7 標準のZip解凍が出来...
-
ホームページビルダー17のサイ...
おすすめ情報