btsyncサーバのファイルをローカルPCにコピー

 BitTorrentSyncでスマートフォンからサーバにコピーしたファイルをローカルPCにコピーするスクリプトを15分に1回cronで回している。

 ローカルでは、「20160530TOJ京都」などのディレクトリ名でデジタルカメラで撮影した写真を保存にしてるので、同様にディレクトリの頭に8桁の年月日をつけ、最後に機種名をつけている。
 $remote_dirの/home/kazz/btsyncはサーバのディレクトリをマウントしたもの。

#!/usr/bin/php
<?php

$local_dir = "/home/kazz/btsync_monthly";
$remote_dir = "/home/kazz/btsync/";
$phone = "z3c";

$newest_file_date =rtrim(`find $local_dir -type f -printf "%TY/%Tm/%Td %Tk:%TM:%TS\n"|sort|tail -1`);

echo "$newest_file_date\n";
exec("find $remote_dir -type f -newerct \"$newest_file_date\"",$files);
#ctime	btsyncでサーバにコピーされた時刻 重複発生
#mtime	ファイルスタンプ  syncが失敗していたら抜けることも

foreach($files as $file){
	$time = filemtime("$file");
	$last_day_of_month = date("Ymt",$time);
	if(file_exists("$local_dir/$last_day_of_month$phone")===false){
		mkdir("$local_dir/$last_day_of_month$phone");
	}
	exec("cp $file $local_dir/$last_day_of_month$phone/ -p -u");
}
?>

 参考にしたサイト。
koyhogetech.hatenablog.com