macのデータのシンクロのためrsyncコマンドを使っているが,今日はその設定でちょっと迷った.rsyncでは”–exclude-from exclude_file“というコマンドを使ってファイルexclude_fileを指定する事で,そのexclude_fileに書いてあるディレクトリやファイルをシンクロの対象から外す事ができる.さらに,そのファイルの中で”+ “で始める行を書く事で,強制的にそのディレクトリやファイルをシンクロの対象にする事できる.詳しくはこちら.
そこでこの機能を使って,あるディレクトリ(例えば,/Library/)をexclude(シンクロの対象外に)しておいて,そのディレクトリ下の特定のファイルだけ(例えば,/Library/Preferences/com.apple.mail.plist)をシンクロの対象にする事を行う事をしたくなった.
最初は,ファイルexclude_fileに,
+ /Library/Preferences/com.apple.mail.plist
– /Library/
と書いたが,com.apple.mail.plistは無視される.
+ /Library/Preferences/com.apple.mail.plist
– /Library/*
とか
+ /Library/Preferences/com.apple.mail.plist
– /Library/**
でもやっぱだけ.(**は/も含めたワイルドカード)
さんざん迷ったあげくたどり着いた結論は,
+ /Library/Preferences/com.apple.mail.plist
+ /Library/Preferences
– /Library/*
– /Library/**/*
と書くというもの.うーん,なんか泥臭いけど,とりあえず動いているからよしとしようか.