Permalänk
Medlem

Rsync från Linux till Linux

Håller på att sätta upp ytterligare en Linuxserver (kallar den "server 2") för att få en backup av min gamla Linuxserver (kallar den "server 1").

På "server 1" använder jag rsync (körs en gång om natten med cron) för att kopiera det som är viktigt från disk1 till disk2. Jag gör så i händelse av diskkrasch. Nu vill jag synka allt från disk2 på "server 1" till "server 2".

Jag tänker att jag monterar disk2 i en mapp på "server 2" med samba och använder rsync (samma här, en gång om natten med cron) att kopiera det som finns på monterade disk2 till en annan mapp på "server 2". Känns som det brunnit lite i huvvet ikväll, men hoppas ni fattar.

Är detta ett sunt tillvägagångssätt eller borde jag göra annorlunda?

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable

Permalänk
Medlem

smb ger ett visst overhead som du kan slippa med NFS, i övrigt låter ditt tillvägagångssätt vettigt i mina öron.

Visa signatur

WS: MSI B350M Mortar | AMD Ryzen 7 1700 | PH-TC14PE | 32GB DDR4 3000MHz | 1TB Kingston NV2 | Intel Arc A750 8GB | 2*BenQ G2420HDB
Router: Gigabyte GA-870-UD3 | AMD Phenom II x6 1055t @ 2600MHz, 1.25V | 12GB DDR3 | 2*250GB HDD @ RAID1 | 4TB HDD
Laptop: Thinkpad X220 4291-QF6

Permalänk
Hedersmedlem

Om båda kör Linux så kan du synka via SSH. Räcker med att båda datorerna har rsync installerat, sen

$ rsync -av /sökväg1/ user@server2:/sökväg2/

... eller liknande.
Kan köras på valfri dator om båda kör SSH-server, annars på den inte har SSH-server.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem
Skrivet av Thomas:

Om båda kör Linux så kan du synka via SSH. Räcker med att båda datorerna har rsync installerat, sen

$ rsync -av /sökväg1/ user@server2:/sökväg2/

... eller liknande.
Kan köras på valfri dator om båda kör SSH-server, annars på den inte har SSH-server.

Skulle säga att det där är det naturliga sättet att göra i en Linuxmiljö.

Permalänk
Medlem
Skrivet av Thomas:

Om båda kör Linux så kan du synka via SSH. Räcker med att båda datorerna har rsync installerat, sen

$ rsync -av /sökväg1/ user@server2:/sökväg2/

... eller liknande.
Kan köras på valfri dator om båda kör SSH-server, annars på den inte har SSH-server.

Visste väl att jag kanske gick över ån för att hämta vatten... Jag testar detta istället.

Jag kör detta kommando mellan disk1 och disk2 på gamla servern med rsync:

rsync -h --stats -r -tgo -p -l -D --update --delete-after /home/server/disk1 /home/server/disk2

Borde då bli med ssh?:

rsync -h --stats -r -tgo -p -l -D --update --delete-after /home/server/disk2 user@server2:/sökväg2/

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable

Permalänk
Medlem

Det är ett par år sen jag satte upp något sådant, men det ser rimligt ut för mig.

Du har koll på hur man sätter upp ssh-nycklar så du slipper lösenordsfrågor?

Permalänk
Hedersmedlem

Jepp!
Med exakt den syntaxen så kommer mappen /sökväg2/disk2 (på server2) skapas med innehållet av mappen. Vill du ha innehållet rakt i /sökväg2/ så måste det vara ett avslutande slash efter /home/server/disk2. Fast detta gäller förstås även redan kommandot du har, så...

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Medlem
Skrivet av blackcoffee:

Det är ett par år sen jag satte upp något sådant, men det ser rimligt ut för mig.

Du har koll på hur man sätter upp ssh-nycklar så du slipper lösenordsfrågor?

Jo, jag använder nycklar på båda servrarna. Jag blev dock osäker på om det skulle fula sig om jag hade både privat och public key i samma .ssh, men det gick bra märkte jag.

Skrivet av Thomas:

Jepp!
Med exakt den syntaxen så kommer mappen /sökväg2/disk2 (på server2) skapas med innehållet av mappen. Vill du ha innehållet rakt i /sökväg2/ så måste det vara ett avslutande slash efter /home/server/disk2. Fast detta gäller förstås även redan kommandot du har, så...

Jo, jag har koll på det sen första gången jag satte upp det. Tog en del svordomar tills jag upptäckte det sista "/"

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable

Permalänk
Medlem

Det här blir lite problem känns det som... Vissa av de filer som jag ska backa upp på disken är ägda av root och annat som behöver rättigheter. Jag får t.ex:

rsync: opendir "/home/server/omega/NextCloudBackup/data" failed: Permission denied (13)

Jag behöver därför köra rsync-kommandot som root, men eftersom man inte kan logga in med ssh med root (eller sudo) så blir detta ett moment 22. Efter jag loggar in med ssh så kan jag köra sudo-kommandon, men jag kan som sagt inte logga in till ssh med sudo.

Så detta funkar inte:

sudo rsync -h --stats -r -tgo -p -l -D --omit-dir-times --no-perms -O --update --delete-after /home/server/omega/ eazy@192.168.1.188:~/enigma/omega_backup/

Försöker jag får jag detta:

[sudo] lösenord för server: Permission denied (publickey). rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(226) [sender="3.1.1"]

Jag är inte riktigt glad att experimentera med detta när jag inte vet riktigt vad jag håller på med. Filerna är tämligen viktiga.
Kanske är det i alla fall bättre att montera nya serverns disk med samba på den gamla servern och köra rsync med root? Tror inte jag löser att göra det med ssh eftersom root-filer är inblandade. Rootfilerna är bland annat filer från Nextcloud data.

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable

Permalänk
Hedersmedlem

Konfigurera din sshd att tillåta rootinloggning då, eller använd rsyncd. Att samba kommer åt filerna är för att smbd normalt kör som root så det blir inte mycket skillnad säkerhetsmässigt.

En annan ide är att du kör backupkommandot (som root) på servern som ska backuppas och ansluter till den som ska lagra.

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk
Medlem
Skrivet av Aphex:

Konfigurera din sshd att tillåta rootinloggning då, eller använd rsyncd. Att samba kommer åt filerna är för att smbd normalt kör som root så det blir inte mycket skillnad säkerhetsmässigt.

En annan ide är att du kör backupkommandot (som root) på servern som ska backuppas och ansluter till den som ska lagra.

Jag försökte fixa till rootinlog, men jag lyckades inte. Försökte med:
PermitRootLogin without-password
och:
PermitRootLogin yes
Vilket inte borde funka, men testade det ändå.

Just nu så gjorde jag som så att jag monterade disken från nya servern på den gamla (den gamla sköter monteringen) med samba. Detta känns inte som en prima lösning med tanke på att om jag får för mig att boota om den nya servern så (gissar jag) att disken inte kommer att monteras om automatiskt. Får kanske göra nått slags script som kör mount -a vid tiden jag ställer när rsync ska köras i cron. Kanske cron kan göra detta?

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable

Permalänk
Medlem
Skrivet av Eazy:

Jag behöver därför köra rsync-kommandot som root, men eftersom man inte kan logga in med ssh med root (eller sudo) så blir detta ett moment 22. Efter jag loggar in med ssh så kan jag köra sudo-kommandon, men jag kan som sagt inte logga in till ssh med sudo.

Det här funkar för mig:

sudo rsync -e "ssh -l ${USER} -i ${HOME}/.ssh/id_rsa" --rsync-path="sudo rsync" ...