会社でLinux(debian)でファイルサーバーを建てていますが。
理由はWindowsサーバーを買うとライセンス代取られるから。
しかも、サーバーのライセンスの他に、そこにアクセスするクライアント数に応じたライセンスが必要だとか
例えば、300人の社員が社内の三台のサーバーにアクセスする場合は、サーバーライセンス三台分とクライアントライセンス300人分が必要って事ですかね
Windows Server 2019 のライセンス購入ケース スタディ
しかも、なんか複雑で? サーバーライセンスは、コア数に応じてライセンスの数が変わる?
Windows Server 2019 ライセンス計算ツール
でも、Linux使えば全部タダで済みますからね。
で、本題。
Linux でサーバーを二台建てて、一台をメインに、もう一台をバックアップにして、ミラーリングなんて高度な事はせず、深夜に rsync 走らせてバックアップ取ってたんですが。
rsync のオプションにある exclude が効かない……
なぜじゃぁ……
結論から言うと、「Linuxは大文字と小文字を区別する」という基本を忘れていただけでした(笑)
WindowsはOSの思想として?大文字と小文字を区別しないので、つい忘れてしまうんですよねぇ
例えば、*.mp4 *.MP4 は別々に指定してやる必要があったんですね。ワイルドカード「*」が仕えるから、そっちもOKなのかとorz
検索しても分からなかったので、自分で実験していくつか分かったこと。
--excludeの書き方
個別に指定する。二種類指定する場合は二回書く。
--exclude="*.mp4" --exclude="*.MP4"
「"」と「'」はどっちでもOK
「=」は半角スペースでもOK
--exclude "*.mp4" --exclude "*.MP4"
こんな感じ↓の書き方をしているサイトがあったのですが、これではうまく行きませんでした。
--exclude={"*.mp4","*.MP4"}
なんか書き方が間違ってるかも?
外部ファイルに除外するファイルを指定して呼び込ませればOKみたいです。
--exclude-from=/hogehoe.txt
hogehoge.txt には除外したいファイル・ディレクトリを箇条書きにしておく
コメント