Linux コマンド rsyncを使用して 2 つのフォルダーを同期する方法

今回、Linux コマンド 「RSYNC」を使って下記2つのフォルダの同期する方法をご紹介いたします。 前提として、 「/home/user/A」:ソースフォルダ(通常の作業フォルダ) 「/home/user/B」:バックアップフォルダ の 2 つのフォルダーがあります。 フォルダー A は通常のファイルとフォルダーが保存される場所で、通常の作業フォルダとして使っています。フォルダー B はフォルダー A の完全なバックアップフォルダとして同期(完コピ)機能するバックアップ フォルダーです。(フォルダー B にはユーザーが直接保存したり変更したりするものはありません)。 今回の同期方法を紹介する背景は、下記のようなたくさんの質問を受けています。 質問: フォルダーBにのみ存在するファイルを一覧表示するにはどうすればよいですか? (例: 前回の同期以降にフォルダー A から削除されたもの。) フォルダーBにのみ存在するファイルをフォルダーAにコピーするにはどうすればよいですか? 両方のフォルダーに存在するが、タイムスタンプやサイズが異なるファイルを一覧表示するにはどうすればよいですか? (前回の同期以降にフォルダー A で変更されたもの。数万個のファイルがあり、プロセスが遅くなりすぎるため、チェックサムの使用は避けたいと考えています。) フォルダー A の正確なコピーをフォルダー B に作成するにはどうすればよいですか? つまり、フォルダー A のすべてをフォルダー A にのみ存在するフォルダー B にコピーし、フォルダー B にのみ存在するフォルダー B のすべてを削除しますが、両方のフォルダーにある同じファイルには触れません。 といったところです。 《解決方法》 フォルダー A とフォルダー B の内容を同じにしたい場合は、ソースとして /home/user/A/ (スラッシュ付き) を入力します。 これは、フォルダー A自体 ではなく、フォルダー A配下すべてのコンテンツをフォルダー B に入れます。 # rsync -avu –delete “/home/user/A/” “/home/user/B” -a すべてのファイルシステム属性を維持して同期を実行します。 -v 同期進捗を確認します。 -u 変更時刻が新しいファイルのみをコピーします (時刻が等しい場合はサイズが異なります)。 –delete ソースに存在しないターゲット フォルダー内のファイルを削除します。 フォルダー A自体をフォルダー B に入れて同期したい場合下記コマンドを使います。 ※Aの後に”/”(スラッシュ)を付かない。 # rsync -avu –delete “/home/user/A” “/home/user/B”

つづきを読む

ProxyPassを使用した「Multiple Web サーバ構築」 Ubuntu版

<前提条件> 1.Ubuntu Server 2.Apache2及び関連モジュールをインストール済 1. Apache2 proxy modulesを有効する # a2enmod proxy # a2enmod proxy_http # ls proxy* /etc/apache2/mods-enabled proxy.conf proxy_http.load proxy.load # /etc/init.d/apache2 restart 2. Example1: http://www.domain.com <VirtualHost IP:80> ServerAdmin admin@domain.com ServerName domain.com ServerAlias www.domain.com ProxyPass / http://localhost:8080/ # Uncomment the line below if your site uses SSL. #SSLProxyEngine On </VirtualHost> 3. Example2: http://www.domain.com/mypage <VirtualHost IP:80> ServerAdmin admin@domain.com ServerName domain.com ServerAlias www.domain.com DocumentRoot /srv/www/domain.com/public_html/ ErrorLog /srv/www/domain.com/logs/error.log CustomLog /srv/www/domain.com/logs/access.log combined ProxyPass /mypage http://localhost:8080/ </VirtualHost>

つづきを読む

iRedMailを利用した「メールサーバ構築」Ubuntu Server版

<概要> iRedMailは、Virtual Mail Account, POP3/IMAP/SMTP, AJAX webmailを無限大に提供するサーバアプリケーションです。また、Red Hat Enterprise Linux, CentOS, Debian, Ubuntu, FreeBSD等のオペレーティングシステム上動作し、「オープンソースのEメールサーバのソリューションを提供しています。詳細ーー>[iRedMail特徴] 今回、Ubuntu 11.04(natty)にて「iRedMail」の構築方法をご紹介致します。 <利用環境(一例)> Ubuntu 11.04 (natty) iRedMail-0.7.4 1.iRedMail導入関連パケージ Postfix: SMTP service Dovecot: POP3/POP3S, IMAP/IMAPS, Managesieve service Apache: Web server MySQL: Storing application data and/or mail accounts OpenLDAP: Storing mail accounts Policyd: Postfix policy server Amavisd, SpamAssassin, ClamAV: Anti-spam, anti-virus Roundcube: Webmail Awstats: Apache and Postfix log analyzer Fail2ban: scans log files (e.g. /var/log/maillog) and bans IPs that show the malicious signs — too many password failures, seeking for exploits, etc. 2.Pre-Install: # vi /etc/hostname mail.domain.com # vi /etc/hosts 127.0.0.1 mail.domain.com 3.Installation: # wget http://iredmail.googlecode.com/files/iRedMail-0.7.4.tar.bz2 # apt-get install bzip2 # tar jxvf iRedMail-0.7.4.tar.bz2 # cd iRedMail-0.7.4 #…

つづきを読む

Ubuntu 11.10 RAID1のmdデバイスからLVM作成方法

<概要> [Ubuntu 11.10]環境にて「RAID1のmdデバイスからLVM作成方法」を紹介します。 <事前確認> 1.Partitions構成確認 # lsblk 2.LVMに参加させるPhysical Volume # pvcreate /dev/md125 (一例) Physical volume “/dev/md125” successfully created 3.Physical Valume確認 # pvscan <目次> 1.Volume Group Name作成 2.Volume Group 確認 3.Volume Group Size byte単位確認 4.Logical Volume作成 5.作成したLVのDeviceを確認する 6.File System Format 7.Partitions確認 8.LVのmountテスト <作成手順> 1.Volume Group Name作成 # vgcreate VolGroup2 /dev/md125 Volume group “VolGroup2” successfully created 2.Volume Group 確認 # vgdisplay VolGroup2 3.Volume Group Size byte単位確認 # vgdisplay –units b VolGroup2 4.Logical Volume作成 # lvcreate -L 500095254528B -n LogicalVol01 VolGroup2 Logical volume “LogicalVol01” created 5.作成したLVのDeviceを確認する # fdisk -l …(省略)… Disk /dev/mapper/VolGroup2-LogicalVol01: 500.1 GB, 500095254528 bytes …(省略)… 6.File System Format: # mkfs.ext4 /dev/mapper/VolGroup2-LogicalVol01 mke2fs 1.41.14 (22-Dec-2010) Filesystem label= OS type: Linux Block size=4096…

つづきを読む

既存 Linux Ubuntu 10.11サーバにHDD RAID1 追加設定 – mdadm編ソフトRAID構築

<事前準備> 1. HDDx2準備(例:Seagate 2TBx2枚 64MB 7200 rpm Advance format) 2. HDD挿入 「fdisk -l」コマンドで、デバイス確認(/dev/sdc, /dev/sdd) 3. 1つのHDDにつき、4つのPrimary Partitionを作成する 4. デバイス事前確認:# cat /proc/partitions 5. 既存Partitionの確認:# parted -s /dev/sda print 6. 既存Raid Arrayの状態と詳細確認:# mdadm –detail /dev/md1 <目次> 1. Partition作成 2. [/dev/sdc]のPartition構成を[/dev/sdd]へコピー 3. RAID array作成 4. Raid Arrayの確認(この時点でMirroring Syncが実行される) 5. 全「Raid Array」を確認、New Array追記 6. New Array追記後、コマンドで反映 7. New Raid DeviceのFile Systemを決定 8. 作成したFile Systemの確認 9. 作成Raid Partitionのmount 10. 最後に[/etc/fstab]登録 1. Partition作成 1. fdisk /dev/sdc 2. n > p > (1-4) > 4等分のサイズそれぞれ入力する 3. t (fd: Linux Raid Auto) 4. w 作成Partitionの保存 # parted -s /dev/sdc print Model: ATA ST2000DM001-9YN1 (scsi) Disk /dev/sdc: 2000GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Number Start End Size…

つづきを読む

Ubuntu Server 仮想マシン 構築【kvm – qemu – vnc 】

<概要> 今回管理者が構築したH/W環境は下記です。 HostとGuestは同じ「Ubuntu Server 11.10 64bits」を使用しました。 Server:HP ProLiant MicroServer CPU:AMD Turion(tm) II Neo N40L Dual-Core Processor RAM:8 Gbytes OS:Ubuntu 11.10 Server 64bit 1. Host OS Install 2. kvm-pxe”導入 3. Virtual Disk 作成 4. Guest OS Install 5. ゲストOSの基本起動 6. ホストネットワーク設定(再起動時設定が残る) 7. ホストネットワーク設定(一時的起動の場合) 8. bridgeに接続する起動方法 9. ゲストIP設定 10.ゲストOS自動起動化 1. Host OS Install <<Host OS Install>> -OS:”ubuntu-11.10-server-amd64.iso” -初期インストール最低限環境で「kvm、qemu-kvm、ssh」を設定 2. kvm-pxe導入 -kvmコマンド(vncを動かすツール)を実行時”kvm-pxe”が要求されたため”kvm-pxe”も導入 $ sudo apt-get install kvm-pxe 3. Virtual Disk 作成 -Virtual Disk 作成 $ qemu-img create -f qcow2 ubuntuServ.qcow2 10G 4. Guest OS Install <<Guest OS Install>> -OS:”ubuntu-11.10-server-amd64.iso” -kvmでiso読み込み、vnc起動 $ sudo kvm -m 1024 -cdrom ubuntu-11.10-server-amd64.iso -hda ubuntuServ.qcow2 -boot d -vnc :0 5. ゲストOSの基本起動 <<仮想ハードディスクからゲストOSの基本起動>> -vnc出力 $ sudo kvm -hda ubuntuServ.qcow2 -boot…

つづきを読む

Time Machineサーバ構築 【Ubuntu Server 11.10版】

[Ubuntu Server 11.10]を利用した「Time Machine」サーバ構築メモです。 1. Linux環境確認 2. Linuxリリース確認 3. netatalkインストール 4. avahi-daemonインストール 5. netatalk conf設定 6. Time Machineフォルダ準備 7. Avahi conf設定 8. Netatalk&Avahiを起動する 9. Time Machineクライアント設定(MacPC側) 1. Linux環境確認 # uname -a Linux hostname 3.0.0-19-server #33-Ubuntu SMP Thu Apr 19 20:32:48 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux 2. Linuxリリース確認 # lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 11.10 Release: 11.10 Codename: oneiric 3. netatalkインストール # apt-get install netatalk Reading package lists… Done Building dependency tree Reading state information… Done The following extra packages will be installed: cracklib-runtime db-util db5.1-util libcrack2 libpam-cracklib rc wamerican Suggested packages: texlive-base-bin groff quota db4.2-util The following NEW packages will be installed:…

つづきを読む

kvmへ仮想HDD追加方法「Ubuntu 11版」

<Host PC> 1.Guestをshutdownする # virsh shutdown/destroy <id> 2.ホストUbuntuに仮想HDD作成 # qemu-img create -f qcow2 /hdd/NewHDD.qcow2 500G 3.xmlファイルへ仮想HDDの定義追記 # vi /etc/libvirt/qemu/virtualServer.xml …(省略)… <disk type=’file’ device=’disk’> <driver name=’qemu’ type=’qcow2’/> <source file=’/hdd/NewHDD.qcow2’/> <target dev=’vdb’ bus=’virtio’/> </disk> 4. xml修正反映 # virsh define /etc/libvirt/qemu/virtualServer.xml 5.Guestを起動 # virsh start Guest <Guest PC> 1.新仮想HDDのPartitions作成 # fdisk /dev/vdb 2.EXT4 FSフォーマット # mkfs.ext4 /dev/vdb1 mke2fs 1.41.14 (22-Dec-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 32768000 inodes, 131071870 blocks 6553593 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 4000 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on…

つづきを読む

NFS Server&Client設定方法「Ubuntu 11」

<概要> NFSは、「Network File System」の略語です。NFSは、sambaと異なり、NFS経由でリモートファイルがローカルHDDと同じような感覚でファイルの読み・書きが可能です。 <構築例> Server: Ubuntu 11.10 (192.168.0.100) Client: Ubuntu 11.04 (192.168.0.110) <目次> 1.ServerへNFSインストール 2.ClientへNFSインストール 3.サーバ上のNFS Directories作成&エクスポート 4.Clientでのマウント用ディレクトリ作成 5.Clientでのディレクトリマウント 6.マウント内容の確認 7.Clientでのテストファイル作成 8.Clientで作成したファイルをServerで確認 9.Client起動時、自動マウント設定 10.Client再起動&#dfコマンドチェック <手順> 1.ServerへNFSインストール: # aptitude install nfs-kernel-server nfs-common portmap 2.ClientへNFSインストール: # aptitude install nfs-common portmap 3.サーバ上のNFS Directories作成&エクスポート # mkdir /var/nfs # chown nobody:nogroup /var/nfs # vi /etc/exports /home 192.168.0.100/24(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.100/24(rw,sync,no_subtree_check) (「no_root_squash」オプション指定は、 「/home」をルートフォルダとする) [/etc/exports]設定反映 # exportfs -ra 4.Clientでのマウント用ディレクトリ作成 # mkdir -p /mnt/nfs/home # mkdir -p /mnt/nfs/var/nfs 5.Clientでのディレクトリマウント: # mount 192.168.0.100:/home /mnt/nfs/home # mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs 6.マウント内容の確認: # df -h # mount 7.Clientでのテストファイル作成 # touch /mnt/nfs/home/test.txt # touch /mnt/nfs/var/nfs/test.txt 8.Clientで作成したファイルをServerで確認 # ls -l /home/

つづきを読む

Ubuntu 11.04 smbfs (smbmount)【Sambaサーバ構築】

<概要> 1.Samba Server (Ubuntu 11.10) ※導入済とする 2.Samba Client (Ubuntu 11.04) 3.Sambaの共有フォルダをClientフォルダにマウントする方法 <手順> # apt-get install smbfs # smbmount //192.168.0.100/shareFolder /mnt/mountPoint 上記smbfsのインストールがエラー発生の場合、下記実行後再度トライ # apt-get update # df //192.168.0.100/shareFolder/ …(省略)… /mnt/mountPoint

つづきを読む