Rsyncin käyttö datan siirtoon ja synkronointiin
SSH certificates are required to connect to Roihu over SSH
To connect to Roihu, users must sign their public key in MyCSC to obtain a time-based SSH certificate. Each certificate is valid for 24 hours, and once it expires, a new one must be generated by signing the public key again.
Rsync on datan siirtotyökalu, jota voidaan käyttää pitkälti kuten scp-komentoa.
Dataa siirrettäessä rsync tarkistaa lähde- ja kohdetiedostojen erot ja siirtää
vain muuttuneet osat. Tämän vuoksi rsync soveltuu seuraaviin käyttötarkoituksiin:
- Kansioiden synkronointi.
scptaicpkopioisi ja siirtäisi kaiken, kun taasrsynckopioi ja siirtää vain muutokset. - Suurten tiedostojen siirtäminen.
rsyncvoidaan asettaa tallentamaan edistyminen, joten jos siirto keskeytyy, sitä voidaan jatkaa samasta kohdasta.
rsync-komennon perussyntaksi on:
Jos datan lähde tai kohdesijainti on etäkohde, se määritellään seuraavalla syntaksilla:
Sekä kohde että lähde voivat kuitenkin sijaita myös samalla koneella. Tällöin voit antaa lähde- ja kohdesijainneiksi pelkät hakemistopolut.
Alla olevassa taulukossa on yleisimmin käytetyt valinnat:
| Option | Argument | Description |
|---|---|---|
-r |
Käy hakemistot läpi rekursiivisesti | |
-a |
Käytä arkistotilaa: kopioi tiedostot ja hakemistot rekursiivisesti ja säilytä käyttöoikeudet sekä aikaleimat | |
-v |
Yksityiskohtainen tila | |
-z |
Pakkaa | |
-e |
ssh |
Määritä käytettävä etäkomentotulkki |
-n |
Näytä, mitkä tiedostot siirrettäisiin | |
--partial |
Säilytä osittain siirretyt tiedostot | |
--progress |
Näytä siirron eteneminen | |
-P |
Sama kuin --partial --progress |
|
-u |
Ohita tiedostot, jotka ovat vastaanottavassa päässä uudempia |
Warning
rsync korvaa oletusarvoisesti kaikki kohteeseen tehdyt muutokset, vaikka
ne olisivat lähdettä uudempia! Käytä valintaa -u, jos haluat välttää tämän.
Rsyncin käyttö datan siirtämiseen paikallisen tietokoneesi ja Roihun välillä
Komento paikallisen kansion siirtämiseksi Roihuun siten, että siirron eteneminen näytetään ja osittain siirretyt tiedostot säilytetään, voisi olla esimerkiksi:
Tämä joko:
- Luo Roihuun kansion polkuun
/path/to/target/folder, jos kansiota ei ollut siellä ennestään. Tässä tapauksessa kaikki paikallisen kansion sisältö siirretään. - Synkronoi lähde- ja kohdekansiot, jos kansio on jo olemassa Roihussa. Tässä tapauksessa siirretään vain tekemämme muutokset.
Ja sama toiseen suuntaan:
Huom.
Jos olet tallentanut SSH-avaimesi ja/tai varmennetiedostosi muulla kuin
oletusnimellä tai muuhun kuin oletussijaintiin (eli muualle kuin
~/.ssh/id_<algorithm> tai ~/.ssh/id_<algorithm>-cert.pub), voit
määrittää rsync-komennolle valinnalla -e, mistä avainta etsitään.
Esimerkiksi:
rsync -rP -e "ssh -i /path/to/private/key -i /path/to/certificate" /path/to/local/folder <username>@<host>:/path/to/target
Huomaa, että SSH-varmenteita tarvitaan Roihuun yhdistettäessä.
Rsyncin käyttö datan siirtämiseen suoraan CSC:n supertietokoneiden välillä
Jotta voit siirtää dataa suoraan CSC:n supertietokoneiden välillä, sinulla on oltava pääsy SSH-avaimiin, jotka olet määrittänyt paikallisella työasemallasi CSC:n supertietokoneisiin tunnistautumista varten. Roihua varten tarvitaan myös voimassa oleva SSH-varmenne. Tämä onnistuu välittämällä SSH-agenttisi supertietokoneelle, johon yhdistät ensin, mukaan lukien SSH-avaimesi (ja varmenne).
Tämän jälkeen rsync-komentoa voidaan käyttää datan siirtämiseen suoraan CSC:n
supertietokoneiden välillä käyttäen samaa syntaksia kuin yllä. Esimerkiksi
hakemiston /scratch/project_2001234/myfiles kopioiminen Roihusta LUMI-projektin
scratch-hakemistoon /scratch/project_462000123: