Portál AbcLinuxu, 25. dubna 2024 21:33


Dotaz: parametre cp

10.8.2005 12:46 secido
parametre cp
Přečteno: 385×
Odpovědět | Admin
Potrebujem zálohovať bežiaci systém. Už som vytvoril súbor, namountoval som ho ako loop a teraz tam chcem skopírovať obsah disku.

Ake parametre treba použiť pre cp alebo existuje nejaký špeciálny príkaz (niečo ako lokálny rsync)?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.8.2005 13:10 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: parametre cp
Odpovědět | | Sbalit | Link | Blokovat | Admin
Osobně bych raději použil tar nebo ten rsync, nevím proč, ale cp mi nějak nesedí. Jak na to najdeš v nějakém disk upgrade howto, kterých se válí na netu strašně moc.
-- Nezdar není hanbou, hanbou je strach z pokusu.
Jiří P. avatar 10.8.2005 13:12 Jiří P. | skóre: 24 | blog: programování
Rozbalit Rozbalit vše Re: parametre cp
Odpovědět | | Sbalit | Link | Blokovat | Admin
cp -pR / [misto kam], kde parametr p zabezpeci ponechani atributu souboru a R znamena, ze ma adresare kopirovat rekurzivne. Pozor ale na kopirovani adresaru /dev, /proc a /sys.
In a world without fences and walls, who needs Gates and Windows?
10.8.2005 13:13 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: parametre cp
Raději cp -a.
Jiří P. avatar 10.8.2005 13:48 Jiří P. | skóre: 24 | blog: programování
Rozbalit Rozbalit vše Re: parametre cp
třeba cp na FreeBSD takový parametr nemá...
In a world without fences and walls, who needs Gates and Windows?
10.8.2005 14:00 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: parametre cp
A to ani nemluvím o cp na Solarisu, to ani nemá optiony -P a -L z *BSD, kdybych chtěl specifikovat kopírování linků...
10.8.2005 14:28 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: parametre cp
Z těchto důvodů je doporučovaným unixovým řešením tar.
10.8.2005 14:03 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
Rozbalit Rozbalit vše Re: parametre cp
FreeBSDí cp AFAIK neumí zachovávat hard-linky (-d).
10.8.2005 13:16 Pinky | skóre: 30
Rozbalit Rozbalit vše Re: parametre cp
Odpovědět | | Sbalit | Link | Blokovat | Admin
man cp
cp -ax / /kam
kde kam je tvůj připojený diskosoboru (soubor přez loop), ten nesmý(neměl by ale ono by to asi prošlo) být na disku který kopíruješ.
Zálohy je lepší provádět přez nějaký zálohovací program který je schopen vytvářet rozdílové zálohy, tedy pokud budeš systém zálohovat častěji a jednotlivé zálohy uchovávat
10.8.2005 13:28 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: parametre cp
Odpovědět | | Sbalit | Link | Blokovat | Admin
rsync lze použít lokálně
10.8.2005 13:45 cronin | skóre: 49
Rozbalit Rozbalit vše Re: parametre cp
Áno, je možné používať rsync lokálne. Rsync dokáže zachovať zariadenia, soft- aj hard-linky, časy modifikácie a prístupu k súborom, oprávnenia. Pozri do sekcie FAQ, tam je to aj z odkazmi na články.
10.8.2005 14:11 secido
Rozbalit Rozbalit vše Re: parametre cp
Takže cp zariadenia neskopíruje?
10.8.2005 14:17 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: parametre cp
Zařízení ti udělá udev. Nebo makedev. A cp -a je klidně zkopíruje, pokud to opravdu chceš.
10.8.2005 15:11 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: parametre cp
Já bych asi volil rsync. Parametry jsou stené jako pro vzdálené kopírování, vypíše různé reporty o provedených akcích, umí mazat smazané soubory a spousta dalších features, které cp nemá.
10.8.2005 18:02 secido
Rozbalit Rozbalit vše Re: parametre cp
Tak som ho vyskúšal, ale má dosť divné správanie. Tak napríklad:
wan1:/backup# mount backup.img mount/ -o loop
wan1:/backup# rsync -a /bin/ /boot/ /cdrom /dev/ /etc/ /home/ /initrd 
/initrd.img /initrd.img.old /lib/ /lost+found/ /media/ /mnt/ /opt/ 
/root/ /sbin/ /srv/ /usr/ /var/ /vmlinuz /vmlinuz.old mount/ &
mi namlátilo všetko cez seba, úplne o ničom. Potom som skúšal len adresáre, ani to nešlo. Jednoducho neskopíroval všetko, ako keby nebral do úvahy všetky parametre, ja neviem. Asi budem musieť použiť cp -a.
10.8.2005 18:49 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: parametre cp
Mně funguje naprosto spolehlivě tohle:
#!/bin/sh

ADRESARE="/bin/ /boot/ /etc/ /lib/ /root/ /sbin/ /usr/ /var/ /home/alp/ /home/data/ /home/ftp/ /home/ftp-user/ /home/herfik/ /home/mysql-dump/ /home/php-exec/ /home/stat/ /home/vmail/ /home/www/"

LOG="/var/log/zalohovani.log"

# mysql dump
/root/zalohovani/mysql/vsechny

echo "=============================================================" >> $LOG
DATUM=`date`
echo "$DATUM: Spoustim zalohovani"  >> $LOG


for DIR in $ADRESARE; do
    rsync -avz --delete --update --stats --numeric-ids -e "ssh -i /root/zalohovani/ssh_key" $DIR root@backup-stroj:/home/zaloha-e-net$DIR >> $LOG
done;

DATUM=`date`
echo "$DATUM: Konec zalohovani"  >> $LOG
Tzn. pro lokoální zálohu je Váš druhý pokus správný...

Jednoducho neskopíroval všetko, ako keby nebral do úvahy všetky parametre, ja neviem.
Co neskopíroval?
10.8.2005 19:15 secido
Rozbalit Rozbalit vše Re: parametre cp
Asi niečo robím zle, neviem či to nahodou nebude názvami adresárov, konkrétne tými /. Ako hovorím, pri spustení toho hore bol v adresári mount bordel, ako keby kopíroval všetko do jeného adresára.
10.8.2005 19:23 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: parametre cp
To ano, ale pokud je budete kopírovat pojednom, neměl by být problém. (musíte jako poslední parametr zadat mount/konkretni-adresar/ na místo mount/) viz můj skript
10.8.2005 19:20 secido
Rozbalit Rozbalit vše Re: parametre cp
Až teraz sa pozerám na ten skript a vidím jasnú príčinu, ty tam kopíruješ adresár po adresári a ja to mám ako parametre rsync, tam bude chyba, ked som to rsyncol jednotlivo, tak to fungovalo.
10.8.2005 19:24 tomas84 | skóre: 30
Rozbalit Rozbalit vše Re: parametre cp
Tys byl rychlejší :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.