PHPプロジェクトのファイルに多くの変更を加えましたが、FileZilla FTPを介してそれらの変更をサーバーにプッシュしたいと思います。すべてのファイルをプッシュするのではなく、ファイルのみを検索したいと思います。過去14日間に変更されたものを、フォルダー構造を保持したまま/ModifiedFiles
フォルダーにコピーします。この方法で、/ModifiedFiles
フォルダーの内容をFileZillaにドラッグするだけで、すべての適切なフォルダに必要なファイル。
Windowsを使用している場合は、このコード行を実行すると、必要な処理が実行されます。
xcopy RUF_Donation_Web ModifiedFiles /S /V /I /R /D:02-09-2016
Mac(OS X Yosemite)のBashターミナルでこれを実現するにはどうすればよいですか?
これはcpio
またはpax
の典型的な仕事です。
find . -type f -mtime -14 -print0 | pax -0 -rw /ModifiedFiles
-l
オプションを使用して、コピーの代わりにリンクを作成することもできます。 Debianのpax
コマンドでは正しく機能しませんが、OS/Xのコマンドでも同じ問題が発生しない可能性があります。
cpio
(pax
の祖先)でも同様のことができますが、OS/Xでのcpio
の実装は-0
/をサポートしていないようです。 --null
オプション。任意のファイル名を許可します。ファイル名に改行文字が含まれていないことがわかっている場合でも、次のことができます。
find . -type f -mtime -14 | cpio -dp /ModifiedFiles
Debian(GNU)バージョンとOS/Xバージョンのcpio
には、コピーの代わりにリンクを作成するための-l
オプションもあります。 (そしてDebianの1つは正しく動作しているようです)。
実装しようとしているのは、rsyncでのビルドです。 rsync -a /source /dest
するだけです。これを簡単なスクリプトに入れて、cronジョブとして追加できます。コピーされたもののログを保持したい場合は、--log-file=[File]
オプションを追加できます。詳細については、こちらをご覧ください: http://linux.die.net/man/1/rsync