スキップしてメイン コンテンツに移動

投稿

ラベル(lftp)が付いた投稿を表示しています

lftpを利用してサーバーとGithubを同期させろ!

特定サーバーはFTPしか使えない状況。 そのサーバーから毎日のデータを読み取りGithubにアップしてほかのサーバーにDeployしないといけない状況です。 ここでrsyncはFTPを介して使えないためlftpというツールを見つけました!Linuxならすぐインストールできるので気軽にインストール apt install lftp ubuntuなのでaptを使いました。もしCentOS系列ならyumでやってみてください。 ファイルは毎日増え続けるため今日と昨日の日付のファイルのみ同期させたい。 サーバーからは削除したりするけど同期元は削除されたら困る。 とのことで 日付を今日と昨日をキャッチする Today= `date '+%Y-%m-%d'` Yesterday= `date +%Y-%m-%d --date '1 day ago'` まずはgitレポジトリーに移動して同期 cd  /home/giip/syncfiles git pull origin master githubから同期したらlftpを利用してファイルを同期 lftp -c  "set ftp:list-options -a; open 'ftp://GEBEDREAM:KFn \$ tMef@93.46.41.5'; cd /; lcd /home/Projects/gebedream/files/company; mirror --use-cache --verbose --allow-chown --allow-suid --no-umask --parallel=2 --log=/var/log/lftp.log --include-glob * ${Today} * --include-glob * ${Yesterday} * " ワイルドカードを利用して対象ファイルを絞らないと全てをダウンロードしてチェックしちゃうので時間がかなりかかる。 --include-glob * ${Today} * --include-glob * ${Yesterday} * 同期が終わったら git pushでgithubにアップします。 git add  . git commit -m  "daily sync by