Rumah >Tutorial sistem >LINUX >Petua penggunaan SCP-kecualikan fail secara rekursif
Seseorang boleh menggunakan arahan scp untuk menyalin fail antara hos rangkaian dengan selamat. Ia menggunakan ssh untuk pemindahan data dan pengesahan. Sintaks biasa ialah:
scp file1 user@host:/path/to/dest/ scp -r /path/to/source/ user@host:/path/to/dest/
Saya rasa anda tidak boleh menapis atau mengecualikan fail apabila menggunakan arahan scp. Walau bagaimanapun, terdapat penyelesaian yang baik untuk mengecualikan fail dan menyalinnya dengan selamat menggunakan ssh. Halaman ini menerangkan cara menapis atau mengecualikan fail apabila menyalin direktori secara rekursif menggunakan scp.
Sintaksnya ialah:
rsync av -e ssh --exclude='*.out' /path/to/source/ user@hostB:/path/to/dest/
Di sini:
Dalam contoh ini, salin secara rekursif semua fail daripada direktori ~/virt/, tetapi kecualikan semua *.fail baharu:
$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp
Sampel output:
Scp kecualikan fail tetapi menggunakan perintah rsync exclude
Jika rsync tidak ditemui pada pelayan jauh, arahan rsync akan gagal. Dalam kes ini, cuba gunakan arahan scp berikut, yang menggunakan padanan corak shell bash dalam direktori semasa (ia tidak berfungsi dengan pilihan -r):
$ ls
Sampel output:
centos71.log centos71.qcow2 centos71.qcow2.new centos71.v2.qcow2.new meta-data user-data
Salin semua dalam direktori semasa kecuali .baharu:
$ shopt -s extglob $ scp !(*.new) root@centos7:/tmp/
Sampel output:
centos71.log 100 % 4262 1.3MB/s 00:00 centos71.qcow2 100 % 836MB 32.7MB/s 00: 25 meta-data 100 % 47 18.5KB/s 00:00 user-data 100 % 1543 569.7KB/s 00:00
Untuk maklumat lanjut, lihat halaman manual berikut:
$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp
Atas ialah kandungan terperinci Petua penggunaan SCP-kecualikan fail secara rekursif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!