SCP-käyttövinkit sulkevat rekursiivisesti pois tiedostot

Scp Usage Tips Recursively Exclude Files



Johdanto K: Minun on kopioitava kaikki kansiot, jotka sisältävät * .c-tiedostoja, hostA-nimisestä paikallisesta muistikirjasta hostB: hen. Käytin seuraavaa komentoa scp, mutta en tiedä miten sulkea pois tiettyjä tiedostoja (kuten * .out): $ scp -r ~ / projektit / käyttäjä @ hostB: / home / delta / projektit /. Kuinka kertoa scp - komento Linux / Unix Poistetaanko tietyt tiedostot tai hakemistot komentoriviltä? .

SCP - SCP -

Ihmiset voivat käyttää scp-komentoa tiedostojen turvalliseen kopiointiin verkkoisäntien välillä. Se käyttää ssh: tä tiedonsiirtoon ja todennukseen. Tyypillinen syntakse on:

scp file1 root@xxxxx:/path/to/dest/ scp -r /path/to/source/ root@xxxxx:/path/to/dest/ 
scp poissulkea tiedosto

En usko, että voit suodattaa tai sulkea pois tiedostoja käyttäessäsi scp-komentoa. On kuitenkin hyvä ratkaisu sulkea tiedosto pois ja kopioida se turvallisesti ssh: llä. Tällä sivulla selitetään, miten suodatetaan tai suljetaan pois tiedostoja, kun kopioidaan hakemistoja rekursiivisesti scp: n avulla.

Kuinka käyttää rsync-komentoa tiedostojen poissulkemiseen

Syntaksi on:

rsync av -e ssh --exclude='*.out' /path/to/source/ root@xxxxx:/path/to/dest/

tässä:

  1. -a: Palaa hakemistoon, eli kopioi kaikki tiedostot ja alihakemistot. Ota myös käyttöön arkistotila ja kaikki muut vaihtoehdot (vastaa -rlptgoD)
  2. -v: Tarkka lähtö
  3. -e ssh: Käytä ssh: tä etäkotelona, ​​jotta kaikki on salattu
  4. --poissulkea = '*. out ': Sulje pois mallit, jotka vastaavat mallia, kuten * .out tai * .c.
Esimerkkejä rsync-komennoista

Tässä esimerkissä kaikki tiedostot kopioidaan rekursiivisesti hakemistosta ~ / virt /, mutta kaikki * .new-tiedostot suljetaan pois:

 $ rsync -av -e ssh --exclude='*.new' ~/virt/ root@xxxxx centos 7:/tmp 

Näytteen lähtö:

SCP - SCP -

Scp sulkee pois tiedostot, mutta käyttää rsync-poissulkemiskomentoa

Jos rsync-tiedostoa ei löydy etäpalvelimesta, rsync-komento epäonnistuu. Kokeile tällöin seuraavaa komentoa scp, joka käyttää bash-kuorimallien vastaavuutta nykyisessä hakemistossa (sitä ei voi käyttää -r-vaihtoehdon kanssa):

$ ls

Näytteen lähtö:

centos71.log centos71.qcow2 centos71.qcow2.new centos71.v2.qcow2.new meta-data user-data

Kopioi kaikki nykyisessä hakemistossa paitsi .new:

$ shopt -s extglob $ scp !(*.new) root@xxxxx:/tmp/ 

Näytteen lähtö:

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 

Lisätietoja on seuraavilla man-sivuilla:

$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@xxxxx:/tmp

kautta: https://www.cyberciti.biz/faq/scp-exclude-files-when-using-command-recursively-on-unix-linux/

OF: Vivek Gite Kääntäjä: geekpi Oikoluku: wxy

Tämä artikkeli koostuu LCTT & iexclAlkuperäinen kokoelma, Linux Kiina Kunniajulkaisu

Alkuperäinen teksti on peräisin: http://www.linuxprobe.com/scp-recursion.html