rsyncコマンドで特定のディレクトリを除外してコピーする
scpコマンドで特定のディレクトリを除外してコピーしたい場合、scpコマンドでは直接そのような機能がないようです。
scpコマンドの代わりにrsyncコマンドを使用して特定のディレクトリを除外してディレクトリをコピーします。rsyncは、ファイルやディレクトリのコピー時に特定のディレクトリを除外する機能があり、効率的にバックアップや同期を行うことができます。
ここでは、/home/admin/ディレクトリ内の「/home/admin/log」と「/home/admin/tmp」ディレクトリを除外してコピーする方法を説明します。
/home/admin/ディレクトリ構成を確認します
ls -l /home/admin/ total 140 drwxr-xr-x 2 ex-admin ex-admin 4096 Oct 12 2022 app drwxr-xr-x 2 ex-admin ex-admin 4096 Oct 26 2023 data drwxr-xr-x. 2 ex-admin ex-admin 4096 May 17 15:03 log drwxr-xr-x. 2 ex-admin ex-admin 4096 May 28 11:03 tmp
特定のディレクトリを除外するには、rsyncコマンドの–excludeオプションを使用します。このオプションに除外したいディレクトリやファイルを指定します。複数のディレクトリやファイルを除外する場合は、–excludeオプションを複数回使用します。
以下に、実際のコマンド例を示します。
$ rsync -avz --exclude='/home/admin/log' --exclude='/home/admin/tmp' admin@web01:/home/admin/ /var/tmp/admin/
このコマンドは、adminユーザーの/home/admin/ディレクトリを/var/tmp/admin/にコピーしますが、「/home/admin/log」と「/home/admin/tmp」ディレクトリは除外されます。
-a
:アーカイブモード。ファイルの属性を保持します。-v
:詳細モード。コピーの進行状況を表示します。-z
:圧縮を有効にします。転送速度を向上させます。--exclude
:指定したディレクトリやファイルを除外します。
このようにして、rsyncコマンドを使用することで、特定のディレクトリやファイルを除外しながデータをコピーできます。
ディスカッション
コメント一覧
まだ、コメントがありません