タグ

rsyncに関するtknzkのブックマーク (23)

  • rsyncの悲劇 〜本番環境を消し飛ばす前に覚えておきたいこと〜

    この記事は番環境でやらかしちゃった人 Advent Calendar 2019 17日目の記事です。 はじめまして、ダーシノ(@bc_rikko)です。 突然ですが、懺悔します。 私は転職して10ヶ月で2回も番環境をぶっ飛ばしました。お客様をはじめ、関係各位には多大なるご迷惑をおかけしたことを、ここでお詫び申し上げます。 1回目は2015年11月27日、入社27日目のこと。 gitの設定ミスにより壊れたブランチをmasterにforce pushしてしまい、CIが流れて番環境が壊れた。原因はpush.defaultなのだが、詳しくはすでに記事を書いているのでそちらを読んでほしい。 2回目は翌年9月1日、入社してちょうど10ヶ月たった日のことだ。 またしても番環境をぶっ飛ばした。しかも、前回より盛大に……。 タイトルにもあるようにrsyncコマンドが原因だ。 当記事では、この「rsy

    rsyncの悲劇 〜本番環境を消し飛ばす前に覚えておきたいこと〜
    tknzk
    tknzk 2019/12/17
  • scpとrsyncでパスのケツスラッシュのありなしの挙動を毎回迷うのでメモ - 俺たちのブログ

    scprsync、ケツにスラッシュがあるかないか毎回確認するのでメモしておく。 個人的にはscp使わないで rsync option from/ dest/で 両方共ケツスラッシュ付けてやってる。 例 from/files_dirをdest/files_dirに持って行きたい % tree . . ├── dest └── from └── files_dir └── file 3 directories, 1 file % まとめ PATH scp rsync from/files_dir/ dest/ NG NG from/files_dir dest/ NG OK from/files_dir/ dest/files_dir/ OK OK from/files_dir dest/files_dir OK NG from/files_dir/ dest/files_dir OK OK

    scpとrsyncでパスのケツスラッシュのありなしの挙動を毎回迷うのでメモ - 俺たちのブログ
  • パスワードなしでrsyncする方法 - sanonosa システム管理コラム集

    他のサーバにrsyncしたいときがあります。その場合考えなければならないのが認証です。よく見られるのは送信先のSSH公開鍵を送信元に登録することで認証をスルーする方法です。しかしrsyncの場合、そんなことをせずともパスワードなしでrsyncできるということを最近知りましたので記録を残しておきます。 【送信先での設定】 まずはパスワードなしでrsyncするために、送信先サーバに下記の要領で/etc/rsyncd.confに追記します。rsyncdの再起動は不要です。 [USERDATA] comment=user data path=/home/user read only=false uid=user gid=user hosts allow=送信元サーバのIPやFQDN hosts deny=* 【送信元でのrsync実行】 続いて送信元でのrsync実行となります。下記の要領でrsy

    パスワードなしでrsyncする方法 - sanonosa システム管理コラム集
  • Vagrant 1.5 で追加された Rsync Synced Folder が良い

    Vagrant 1.5 がリリースされました。1.1 以来の big change ということで、目新しい機能が追加されています。 目玉はやはり Vagrant Share だと思うのですが、その他にも Web システムの開発に Vagrant を使っている人には嬉しい機能が追加されています。 その一つが Rsync Synced Folder です。 Vagrant には、ホストマシンとゲストマシンとでファイルを共有、同期する機能があります。 これにより、開発はホストマシンで行い、実行は LA(MP)P 環境であるゲストマシンで行うという、いいとこ取りができました。 この機能を実現する方法として、shared folder(VirtualBox の機能)や NFS を利用することができたのですが、これに rsync による同期が追加されました。 ホストマシンからゲストマシンへ rsync

  • rsync の複雑怪奇な exclude と include の適用手順を理解しよう

    rsync は便利なんだけど、オプションが多くて難しい。特にややこしいのがファイルを選別するための --exclude と --include オプションだ。 man を読んでもイメージがつかみにくかったので、ググったり、-vvv の結果を見たり、ソースを読んだりしつつ調べてみたところ、3 つのルールを理解すれば何とかなりそうなことが分かった。 この記事では、その 3 つのルールをなるべく分かりやすく説明する。 ルール1: 指定順に意味がある コマンドライン引数は、通常、どの順番に指定しても同じ挙動になることが多い。しかし、rsync の include と exclude に関しては、指定順が意味を持つ。 man にも出てくる例で説明しよう。MP3 だけをコピーするには次のようにする。 -av はコピーするときのお決まりのオプション。ネットワーク越しにコピーするときは、-avz として圧

    rsync の複雑怪奇な exclude と include の適用手順を理解しよう
    tknzk
    tknzk 2013/03/26
  • node.jsアプリのデプロイにやさしい grunt-rsync | DevelopersIO

    はじめに ちょっとデプロイしてスマホで確認したい、皆に見てもらって感想が欲しい、とにかく直ぐにデプロイしたい。そんな時に便利なgrunt.js用のタスクのgrunt-rsyncです。 rsyncコマンド知ってますか? 僕は知りませんでした(汗。ファイル群の同期を取る用途のコマンドです割と古くからあるみたいです。多くのUnix系環境にデフォルトで入っているようです。名前の通り、ファイルの同期を取るのがこのコマンドの仕事で、ローカル同士でもリモートともSCP経由などで同期を取れるようです。 詳しくはWikiで。 grunt-rsyncパッケージ rsyncwrapperというrsync用のパッケージを使用しているgrunt用タスクです。もっとシンプルにrsyncをラップしている grunt-rsync-2 というのも存在しますが、コピーに失敗してもがエラーが出なかったのでこちらの方がいいと思い

  • Lsyncd(Live Syncing Daemon)で複数サーバをリアルタイム同期する方法! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    Lsyncd (Live Syncing Daemon)でリアルタイム同期! こんにちはtetsuです。 今回の「社内なんでも屋」tetsuによるお題は「Lsyncdによるリアルタイム同期」です。 Lsyncd (Live Syncing Daemon)とは 名前の意味通り、リアルタイムでサーバ間のディレクトリのミラーリングをしてくれます。 今回はロードバランサーを導入したWebサーバ3台、DBサーバ1台構成のWordPress環境を例に解説します。 ロードバランサーによって負荷分散することができますが、WordPressからアップロードした画像などはWebサーバ3台のうち、いづれかのサーバにしかアップロードできず、他のWebサーバにはアップロードしたファイルは存在していません。 そこでLsyncdを利用することで、アップロード後に他のサーバに対して同期処理をさせることができ、どのWebサ

    Lsyncd(Live Syncing Daemon)で複数サーバをリアルタイム同期する方法! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • Capistrano + rsync で省エネデプロイ - 肉とビールとパンケーキ by @sotarok

    こんにちは。 タイトルの通りなんですが、Capistrano みんなつかってるよねー。 ってことで独自のデプロイシステムをもってなくてさすがにFTPでUPはしてませんって人は結構使ってるもんだと思ってるんですけど、Capistrano ってなんかデフォルト各サーバで vcs の update 的なことをするか、ローカルにソースツリーを用意してやる場合に使えるのは scp で、なんかエコじゃないよねと言う話で、いちいちソースツリー全部配布されてたら転送量も時間もかかってしょうがないので、まーrsyncがいいんだよね、ということで、そんな時は capistrano_rsync_with_remote_cache (なげえよ) を使えばいいよね!ってお話です。 *1 luisparravicini/capistrano_rsync_with_remote_cache · GitHub このご時世

    Capistrano + rsync で省エネデプロイ - 肉とビールとパンケーキ by @sotarok
  • rsync -Rで中間ディレクトリがシンボリックリンクな場合の注意点 - (ひ)メモ

    複数サーバを管理する場合、管理コストの増加やオペレーションミスを避けるための施策として、「すべてのサーバの内容を同一に保つ」という管理方法があります。 サーバの内容を同一に保つには、小中規模ならrsyncと、パス指定の簡便化とミスを防ぐために-a -R (--relative)オプションを使うのがベストでしょう。 ただ、-Rを指定しているときに、同期コピー対象のパスにディレクトリへのシンボリックを含んでいる場合には注意が必要です。そこで今回はrsync 2.6とrsync 3のそれぞれについて、ふたつのケースについて検証してみたいと思います。 ケース1: 実ディレクトリが同じ 物理的なディレクトリ構造をそのまま見せるのではなく、論理的な意味あるディレクトリ名/構造として見せたい場合には、ディレクトリのシンボリックリンクを使うとよいです。 例えば: RAID等のストレージにあるディレクトリの

    rsync -Rで中間ディレクトリがシンボリックリンクな場合の注意点 - (ひ)メモ
    tknzk
    tknzk 2011/05/06
  • リモートホストとdiffる - (ひ)メモ

    bashの「Process Substitution」という機能で、コマンドの実行結果を名前つきパイプから読めます。(thx かつみくん) $ cat -n <(date; echo foo) 1 Wed Jan 18 21:38:30 JST 2006 2 fooこれを使って、リモートホストのファイルとdiffを取るシェル関数を作ってみました。 こんな感じで使えます。 $ rdiff -u ~/s.txt REMOTE_HOST:~/d.txtまた-Rオプションで、rsyncの-R, --relativeオプションの様にローカルホストのパスをリモートホストの相対パスとして指定できます。たとえば、ローカルホストの/very/very/long/path/t.txtとリモートホストの同じパスのファイルをdiffるときには次のようにしてリモートホスト側のパス指定を略記することができます。 $

    リモートホストとdiffる - (ひ)メモ
  • WEB上からrsyncを実行する方法 - sanonosa システム管理コラム集

    各サーバ群にソースコードを配信するためにrsyncを使っているところも多いと思います。この操作をWEB上から行えるようになれば、例えばデザイナーがちょっとした画像データを配信するといった場面などで便利そうです。そこで今回はrsyncをWEB上から実行する方法について記してみたいと思います。 【ハマりどころ確認】 WEB上からrsyncを実行するのって、簡単に見えて実はちょっと難しいのです。ハマりどころは2つあります。それは (1) rsyncを実行するユーザがパスワードなしで配信先サーバにSSH接続できるようにしておかなければならない。 (2) 配信先サーバでは、rsyncを実行するユーザと同じ名前のユーザで、該当ファイルやディレクトリの書き込み/編集権限を持っていなければならない。 というものです。 (1)については、こちらでも記したような方法で、パスワードなしで他のサーバにSSH接続で

    WEB上からrsyncを実行する方法 - sanonosa システム管理コラム集
  • lsyncdを使ったディレクトリ同期の制限について

    <lsyncd version="1"> <settings> <logfile filename="/var/log/lsyncd.log"/> <binary filename="/usr/bin/rsync"/> <pidfile filename="/var/run/lsyncd.pid"/> <callopts> <option text="-%rlptgoD"/> <option text="--delete" /> <exclude-file/> <source/> <destination/> </callopts> </settings> <directory> <source path="/data/backup1/"/> <target path="192.168.137.13::backup1"/> </directory> </lsyncd> uid = root

    lsyncdを使ったディレクトリ同期の制限について
  • デプロイに rsync を使う | バシャログ。

    目がかい~~~の。こんにちは nakamura です。暖かくなってきたので、ぼちぼち自転車通勤始めようと思ってます。 デプロイって面倒な作業ですよね。番環境へのデプロイは特に神経を使う上に FTP クライアント等を使っての手動アップだといつか絶対に漏れが出そう。サーバが複数台あったりするともう最悪!今日はその辺りのストレスを軽減する方法として rsync コマンドをご紹介します。 オプション色々 rsync はオプションがむちゃんこあります。代表的なものをいくつがご紹介しますが、もっと知りたい方はコマンドラインで man rsync と実行すれば公式のマニュアルが読めますよ。 -a オプション --archive オプションの略で更には -rlptgoD オプションをひとつにまとめたものです。細かい点はマニュアルを参照してもらえれば分かりますが、一言で言うと『ローカルとリモートを全く同じ

    デプロイに rsync を使う | バシャログ。
    tknzk
    tknzk 2010/03/20
  • rsyncを使って、ログとかファイルをリモートサーバに退避する方法 - kazuhoのメモ置き場

    rsync -az -e ssh --out-format='%n' src-dir remote:dest-dir > files_copied.$$ || exit $? rm -f `cat /tmp/files_copied.$$` || exit $?CentOS だと rsync -avqz でコピーしたファイル名だけ一覧で出たんだけど、Ubuntu 9 だと出なかったorz 上なら rsync のバージョンによらず一定なんじゃないかなー

    rsyncを使って、ログとかファイルをリモートサーバに退避する方法 - kazuhoのメモ置き場
    tknzk
    tknzk 2010/01/25
  • リモートサーバー側の負荷を抑えてrsyncを実行する方法

    全て 1.このサイトについて 2.作品DB開発/運用 3.ホームページ制作技術 4.Perl 5.C言語 / C++ 6.検索エンジン&SEO 7.サッカー 8.自分のこと 9.Linux 10.旅行 11.思ったこと 12.パソコン 13.Berkeley DB 14.その他技術系 15.企画 16.スマートフォン 17.鑑賞 18.皆声.jpニュース 19.インターネット業界 20.運用マニュアル(自分用) 21.技術系以外実用書 22.料理 23.ALEXA 24.アニメ 25.会計 26.漫画 27.設計書 28.色々サイト作成 29.サーバー 30.自分専用 31.生活 32.OP/ED/PV 33.ゲーム 34.DB整備 35.新規開始作品紹介 36.英語圏の話題 37.大道芸 38.映画 39.PHP 40.ダイエット 41.Mac 42.JavaScript 43.MySQ

    tknzk
    tknzk 2009/09/26
  • lsyncdをつかって簡単にファイル同期を - UNIX的なアレ

    lsyncdというツールをご存じでしょうか?これを導入することで、リモートのホストとディレクトリ単位で同期をすることができます。 先日のエントリーでも紹介していますが、実は設定や導入がすごく簡単です。した設定でリモート間でファイルの同期をとれるのはやはり便利ですよね。 さて、今回はlsyncdの簡単な導入方法を紹介したいと思います。 lsyncdの仕組み lsyncdはlinux kernel2.6.13で導入された、inotifyというAPIをつかって動作しています。 inotifyはファイルシステムのイベントを取得することができるAPIで、ファイルの作成や削除などをそれぞれイベントとして取得をすることができます。 この仕組みと、rsyncを組み合わせてファイルの同期を行うことを実現しています。 lsyncdのインストール まず、以下のページからsourceをダウンロードしてください。

    lsyncdをつかって簡単にファイル同期を - UNIX的なアレ
  • リアルタイムミラーリングツール導入(lsyncd+rsyncd) - Fedoraで自宅サーバー構築

    lsyncdを使用してマシン間でリアルタイムにディレクトリのミラーリングを行う。 lsyncdはLinuxカーネルのinotify機能を利用して、ファイルの更新時にミラー先のrsyncサーバーへrsyncを実行することにより、リアルタイムにディレクトリのミラーリングを行う。 ここでは、例として/rootディレクトリをミラー先の/tmp/rootディレクトリへミラーリングする。 [root@to ~]# mkdir /tmp/root ← ミラー先ディレクトリ作成 [root@to ~]# chown nobody:nobody /tmp/root/ ← ミラー先ディレクトリ所有者をnobodyに変更 [root@to ~]# vi /etc/rsyncd.conf ← rsyncサーバー設定ファイル作成 [root] ← 任意のモジュール名(ミラー元から接続時の名前) path = /tm

  • 地雷だらけのrsyncを理解する。 - こせきの技術日記

    rsync -avz --exclude-from=pattern-file --delete SRC/ DEST SRCの末尾に/をつける。たいてい必要。 SRCスラッシュの有無は、mv SRC DEST と mv SRC/* DEST の違いと一緒。スラッシュの後ろに*が省略されているものと考える。 DESTのスラッシュの有無は関係なし。 --dry-run(-n)をつけて試す。 SRC、DESTともローカルのディレクトリを指定して試す。 DESTはまず空ディレクトリで試す。DESTが同期済みだと何が更新されるのか正確にわからないので。 --list-onlyをつけてファイル一覧を得る。 DESTを省略してファイル一覧を得る。 --list-onlyと同じ? --deleteはDESTのファイルを根こそぎ削除する可能性がある。注意。 --delete-excludedは使わない。--d

    地雷だらけのrsyncを理解する。 - こせきの技術日記
    tknzk
    tknzk 2009/06/09
  • Command Technica:はじめてrsyncを使う方が知っておきたい6つのルール (1/2) - ITmedia エンタープライズ

    Linuxなどを利用する上で、「これはどうやったら実現できるのだろう」と思うことは数知れない。連載では、ユーザーがひんぱんに遭遇するであろう問題と、その解決方法を解説する。上級者には新たな発見を、初心者には上級者への道の手引きとなるだろう。 ファイルやディレクトリをバックアップ/同期するためのツールは幾つも存在していますが、rsyncはとりわけ大きな人気を誇っているといってよいでしょう。変更分を検出して差分のみを転送することで、ネットワーク経由でも効率的にバックアップ/同期が行える点や、sshなどのリモートシェル経由での利用が可能な点など、機能の洗練度はさすがに登場から10年以上たっているだけのことはあります。バックアップやミラーリングなどの用途であれば、基的にはコピー元とコピー先でわずかな違いしか発生しないはずで、ファイルの相違部分だけを転送するrsyncは効率的に機能します。 そん

    Command Technica:はじめてrsyncを使う方が知っておきたい6つのルール (1/2) - ITmedia エンタープライズ
    tknzk
    tknzk 2008/04/21
  • Mac OSX向けrsyncフロントエンド·arRsync MOONGIFT

    rsyncはバックアップやファイルのダウンロード等、様々な場面で利用される。サーバのデータを同期したり、自宅のデータを遠隔地にアップロードすると言った用途で使っている人も多いだろう。 基コマンドラインで十分ではあるが、使いやすさを考えるとGUIの方が便利だと言う人もいる。そうした人にはこれだ。 今回紹介するオープンソース・ソフトウェアはarRsyncMac OSXrsyncフロントエンドだ。 arRsyncはバックアップ、同期、マージ等、利用法に応じて選択するだけで利用できる。パーミッションの設定やリンクに関する設定も可能だ。 ディレクトリ指定は複数可能なので、複数の設定を行っている人には一元管理できていいだろう。設定はプリセットとして保存しておく事も可能だ。 ただ、フォルダ指定が可能ではあるが、ネットワークはどう指定したら良いのかが分からなかった(さすがにないとは思えない)。豊富な

    Mac OSX向けrsyncフロントエンド·arRsync MOONGIFT