å°é·ã ããã®rsyncãç解ããã
- rsync -avz --exclude-from=pattern-file --delete SRC/ DEST
- SRCã®æ«å°¾ã«/ãã¤ãããããã¦ãå¿
è¦ã
- SRCã¹ã©ãã·ã¥ã®æç¡ã¯ã
mv SRC DEST
ã¨mv SRC/* DEST
ã®éãã¨ä¸ç·ãã¹ã©ãã·ã¥ã®å¾ãã«*ãçç¥ããã¦ãããã®ã¨èããã - DESTã®ã¹ã©ãã·ã¥ã®æç¡ã¯é¢ä¿ãªãã
- SRCã¹ã©ãã·ã¥ã®æç¡ã¯ã
- --dry-run(-n)ãã¤ãã¦è©¦ãã
- SRCãDESTã¨ããã¼ã«ã«ã®ãã£ã¬ã¯ããªãæå®ãã¦è©¦ãã
- DESTã¯ã¾ã空ãã£ã¬ã¯ããªã§è©¦ããDESTãåææ¸ã¿ã ã¨ä½ãæ´æ°ãããã®ãæ£ç¢ºã«ããããªãã®ã§ã
- --list-onlyãã¤ãã¦ãã¡ã¤ã«ä¸è¦§ãå¾ãã
- DESTãçç¥ãã¦ãã¡ã¤ã«ä¸è¦§ãå¾ãã
- --list-onlyã¨åãï¼
- --deleteã¯DESTã®ãã¡ã¤ã«ãæ ¹ãããåé¤ããå¯è½æ§ãããã注æã
- --delete-excludedã¯ä½¿ããªãã--deleteããæ´ã«å±éºãexcludeã§æå®ããä¸æ¸ããããããªããã¡ã¤ã«ãåé¤ãã¦ãã¾ãã
- ééã£ã¦éç¨ãã¦ãããµã¤ãã丸ãã¨æ¶ãããã¨ãããã
- cronã§ãã©ã¼ãªã³ã°ããæ¹æ³ã¯ä»¥ä¸ãåç
§ããªã¢ã¼ãã®authorized_keysã«command="..."ãæ¸ãï¼ï¼ç¹å®ã®ã³ãã³ãããå®è¡ã§ããªãå°ç¨ã®éµãä½ãï¼ã
- rsync + cron + ssh (rsyncd を立てない編)
- 404 Not Found
- ssh scp sftp の正しい自動実行方法
- void GraphicWizardsLair( void ); // cronでパスフレーズなしscp,rsyncを自動運転する場合は、chattr +iやchflags uchgで~/.ssh/authorized_keyを変更不可にしよう
- rsync -avz --exclude-from=pattern-file --delete -e "ssh -i ~/.ssh/rsync" SRC/ USER@HOST:DEST
- rsync + cron + ssh (rsyncd を立てない編)
ããã¥ã¢ã«
- UNIXの部屋 コマンド検索:rsync (*BSD/Linux)
åºæ¬çãªä½¿ãæ¹ãããããããã
- rsync
ããã¥ã¢ã«ããããã«ããã
- Sial.org
è±èªãã¿ã¤ã ã¢ã¦ãã®æå®æ¹æ³ã¨ãã
SRCã®ã¹ã©ãã·ã¥ã«ã¤ãã¦
SRCã®æ«å°¾ã«ã¤ãã¹ã©ãã·ã¥ã®æç¡ã§ãåä½ãå¤ããããã®æåã¯mvã³ãã³ãã«ä¼¼ã¦ããã
mv /dir1 /dir2
ã¨ãã㨠/dir2/dir1 ãåºæ¥ããåãããã«
rsync -avz /home/wwwuser/htdocs [email protected]:/home/wwwuser/htdocs
ã¨ããã¨ããªã¢ã¼ãã«/home/wwwuser/htdocs/htdocsãåºæ¥ã¦ãã¾ããããã¯ãããããã¨ã¨éããhtdocsã®ä¸èº«ãæ´æ°ããããªãã
rsync -avz /home/wwwuser/htdocs/ [email protected]:/home/wwwuser/htdocs
ã®ããã«ã¹ã©ãã·ã¥ãå¿ è¦ãhtdocs/*ã®ããã«ã¢ã¹ã¿ãªã¹ã¯ãçç¥ããã¦ããã¨èããã¨ããããããã
deleteã«ã¤ãã¦
- --deleteã¯ãSRCã«ç¡ããã¡ã¤ã«ãDESTããåé¤ããã
- --delete-excludedã¯ãexcludeãã¿ã¼ã³ã§é¤å¤ããããã¡ã¤ã«ãåé¤ããã
--deleteã¯ãDESTã®ãã£ã¬ã¯ããªæå®ãééããã¨æ²æ¨ãªãã¨ã«ãªããSRCã®ã¹ã©ãã·ã¥ã®æç¡ãéè¦ãä¾ãã°ã
$ rsync -avz --delete ./new-dir/ /home/koseki # å±éºï¼
/home/kosekiã®ä¸ã«new-dirãä½ããããªãã¹ã©ãã·ã¥ãä»ãã¦ã¯ãããªããä¸ã®ãå®è¡ããã¨/home/koseki以ä¸ã®ãã¡ã¤ã«ãæ ¹ãããåé¤ããã¦ãã¾ãã
$ rsync -avz --delete ./new-dir /home/koseki # å®å ¨ $ rsync -avz --delete ./new-dir/ /home/koseki/new-dir # å®å ¨ãããã使ãã
常ã«ä¸ã®æ¸ãæ¹ãããã®ãããã¨æããã¹ã©ãã·ã¥ããã§ãDESTã«SRCã¨åé層ã®ãã£ã¬ã¯ããªãæå®ããã
--delete-excludedã«ã¤ãã¦
--delete-excludedã¯ãSRCã«ç¡ããã¡ã¤ã«ã»ãã£ã¬ã¯ããªã«å ãã¦é¤å¤ããããã¡ã¤ã«ã»ãã£ã¬ã¯ããªãåé¤ããã
excludeãã¿ã¼ã³ã¯ã以ä¸ã®æ§è³ªãç°ãªããã¡ã¤ã«ãã¾ã¨ãã¦æ±ãã
- ä¸è¦ãªãã¡ã¤ã«ãé¤å¤ããã*~, .DS_Storeãªã©ãâ åé¤OK
- æ´æ°ãã¦ã»ãããªãããé¤å¤ãããâ åé¤NG
--delete-excludedãæå®ãããªããä¸ã®ã©ã¡ãã®ç®çã§é¤å¤ãã¦ããã®ãã常ã«ææ¡ããå¿ è¦ããããåè ãåé¤ãããã®ã¯æ§ããªãããå¾è ãåé¤ãããã¨æ²æ¨ã
excludeãã¿ã¼ã³ãã¡ã¤ã«
- excludeãã¿ã¼ã³ãã¡ã¤ã«ã¯ä¸ããé ã«ã対象ã®ãã¹ã«ããããããã©ããã試ãã
- ãããããæç¹ã§EXCLUDE/INCLUDEã決å®ããããã以ä¸ã®ãã¿ã¼ã³ã¯è¦ãªãã
- æå¾ã¾ã§ãããããã«æãããINCLUDEã
- ãã£ã¬ã¯ããªã«é¤å¤ãã¿ã¼ã³ããããããã¨ããã®ãã£ã¬ã¯ããªã®å
容ãä¸ç·ã«é¤å¤ãããã
- é¤å¤ãã£ã¬ã¯ããªä»¥ä¸ã®ãã¡ã¤ã«ã«å¯¾ãããããã³ã°ã¯è¡ãããªãã
- *ã¯/ãå«ã¾ãªãã¯ã¤ã«ãã«ã¼ãã
- **ã¯/ãå«ãã¯ã¤ã«ãã«ã¼ãã
ä¾ã
- .svn/ - *~ - .DS_Store + /some + /some/path + /some/path/to + /some/path/to/include + /some/path/to/include/** - *
/some/path/to/include以ä¸ã®ããªã¼ã¯å ¨é¨å«ãããã以å¤ã¯é¤å¤ã.svnã*~ã®ããã«å ¨ä½ã§é¤å¤ãããã¿ã¼ã³ã¯æåã®æ¹ã«æ¸ãã
ãã®ä¾ã¯ãcronã§èªåé転ããæã«ãã使ããexcludeãã¿ã¼ã³ã¯ãªã¢ã¼ãã®ã³ãã³ãã«å½±é¿ããªããã«ã¼ãã¯åºå®ãã¤ã¤ãæ´æ°ããããã£ã¬ã¯ããªä»¥å¤å ¨ã¦ãé¤å¤ãããã¨ã§1ã¤ã®éµãè¤æ°ã®æ´æ°å¦çã«ä½¿ããã
æè¿ã®ãã¼ã¸ã§ã³ã§ã¯ã
+ dir/ + dir/** - *
ã
+ dir/*** - *
ã¨æ¸ãããINCLUDEãã¿ã¼ã³(+)ãããªãã¨***ã¯æå³ããªãã¨æã(ãã¶ã)ããã£ã¬ã¯ããªãé¤å¤ããã°ãã以ä¸ãé¤å¤ãããã®ã§ã