abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 6
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 7
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 1
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
1.12. 15:16 | Komunita

Na GOG.com začal zimní výprodej. Řada zlevněných her běží oficiálně také na Linuxu. Hru Neverwinter Nights Diamond lze dva dny získat zdarma. Hra dle stránek GOG.com na Linuxu neběží. Pomocí návodu ji lze ale rozběhnout také na Linuxu [Gaming On Linux].

Ladislav Hagara | Komentářů: 1
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 763 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Jednoduchá záloha na USB disk

3.8.2015 08:09 Martin
Jednoduchá záloha na USB disk
Přečteno: 996×
Ahojky, svépomocí a hlavně na základě čerpání informací z podobných diskuzí, jako je abclinuxu jsem si rozjel můj první Linux. A hned jsem se vrhl na menší domácí serveřík. Koupil jsem si USB disk a složku s uživatelskými daty jsem si pomocí rsync zazálohoval a průběžně zálohuju. Příkaz jsem přidal do cronu a každou noc se mi provede záloha. Teď bych to chtěl ale nějak víc zautomatizovat a hlavně ten USB disk chci na víkendy vozit na chalupu, abych měl data k dispozici v tamnějším multimediálním centru (vlastně také linuxovém XBMC, které nám onehdá nainstaloval jeden známý). Tzn. že bych to potřeboval nastavit tak, aby se v případě odpojeného disku synchronizace nespouštěla. Taje skriptování začínám teprve objevovat a tak jsem se chtěl zeptat, jestli už nějaké takové udělátko neexistuje .. koukal jsem na zálohovací SW Bacula, ale to mi v mém případě přijde jako kanon na vrabce (nehledě na to, že bych to asi jen tak nerozchodil:). Za případnou pomoc předem děkuji:)

Řešení dotazu:


Odpovědi

3.8.2015 08:59 NN
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
rsync ..... 2> /dev/null
3.8.2015 09:14 Xerces
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Já bych to řešil tak, že bych si na tom usbdisku vytvořil soubor s nějakým známým názvem, třeba zalozni.disk a v tom zalohovacim skriptu bych ten rsync obalil podminkou if exist zalozni.disk ....
Jendа avatar 3.8.2015 13:14 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
if ! mount | grep připojený_disk; then
  exit 0
fi

rsync ...
3.8.2015 13:31 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
[[ $(blkid -U UUID_PRIPOJENEHO_ODDILU) ]] && rsync || exit 0
3.8.2015 13:39 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Jenda to uz napsal. Trochu popisu k tomu. Linuxove skripty umoznuji podminky. V tomto pripade je podminka provedeni. Prikaz mount, ktery vypise vsechny propojene disky, vyfiltruje jej na jmeno pripojeneho disku, kdyz nic neni ve vystupo tak disk pripojeny neni a skript skonci, pokud ne tak se pokracuje na rsync.
4.8.2015 10:48 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Dneska to otestuju, to vypadá dobře:) Jinak co musím napsat do té hlavičky? #!/bin/sh ?

Můžu udělat něco takového? :
#!/bin/sh

mount /mujusbdisk /umisteni

if ! mount | grep připojený_disk; then
  exit 0
fi

rsync ...

umount /umisteni
Ale co se stane, když mountlej bude? Moc diky.
4.8.2015 10:57 NN
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Toto chces dat do cronu? Budes cronem dokola pripojovat a odpojovat USB?
4.8.2015 15:13 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
No měl jsem to v úmyslu, protože jsem myslel, ze bude lepší, když se USB připojí, jen když bude potřeba - to je špatně?
4.8.2015 17:22 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
no minimalne to "připojený_disk" bys mel zmenit na adresar kam to opravdu pripojujes ;)
to ze "/mujusbdisk" zmenis na nazev zarizeni tveho oddilu asi vis, ale projistotu :)

jinak si uvedom ze odkazovanim na jmeno zarizeni se muzes dostat do nevhodneho stavu, napr. kdyz budes mit odpojen usb_disk, vlozis usb_flash (ktera ziska jmeno co mel predtim ten disk) treba navstevy, v tu chvili kdyz se pusti cron zaloha ktera najde zarizeni, provede zalohu tvejch dat na usb_flash a po odpojeni si navsteva odnese tva data :)
nebo to bude tvuj usb_flash kterej pripojis, nechos ho v RPi, pak pripojis usb_hdd, ale zaloha se bude presto provadet na usb_flash protoze jmeno co mas uvedene ve skriptu patri tez flash...
Resenim je dohledani zarizeni pomoci UUID, ktery ma kazdy oddil vygenerovano jedinecne, viz tahle detekce, rozepsano do lepsi citelnosti a pro pouziti ktere chces:
#!/bin/sh

# sve UUID zjistis pomoci: blkid /dev/aktualni_jmeno_zarizeni_oddilu
UUID="UUID_PRIPOJENEHO_ODDILU_NA_KTEREJ_CHCES_ZALOHOVAT"

if ! blkid -U $UUID; then
  exit 0
fi

mount /dev/disk/by-uuid/$UUID /umisteni

rsync ...

umount /umisteni
4.8.2015 19:55 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
blkid znám a UUID taky, takže to není problém, ale díky za upozornění:) Jen ale přemýšlím nad tím mount a umount. Nemělo by to ověřovat ještě, jestli to není už namountovaný, případně jestli je co umountovat?
4.8.2015 20:31 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
ten parametr -U u blkid prave hleda dane zarizeni...
na zjisteni jestli uz je/neni pouzij mountpoint
mountpoint -q /umisteni && umount /umisteni
#nebo dle preferenci zapis if-fi :)
if mountpoint -q /umisteni; then umount /umisteni; fi
4.8.2015 20:33 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
a pro mount...
mountpoint -q /umisteni || mount /dev/disk/by-uuid/$UUID /umisteni 
#nebo dle preferenci zapis if-fi :)
if ! mountpoint -q /umisteni; then mount /dev/disk/by-uuid/$UUID /umisteni; fi
4.8.2015 21:17 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
A chápu to dobře, že když to už mountlý bude, skript bude pokračovat?
4.8.2015 21:27 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Tak si hraju a aby toho nebylo málo, disk jsem ještě zašifroval, ale teď nevím, jak mu podsunout to UUID do cryptsetup luksOpen :-) No a ruční zadávání hesla pak ještě dořeším nakonec.
#!/bin/sh
 
# UUID USB disku podle blkid
UUID="30a8ed74-3d45-4fb1-8d84-3890cb60b0e1"
 
if ! blkid -U $UUID; then
  exit 0
fi
 
echo "Rozšifrování a připojení disku"
if ! mountpoint -q /mnt/backup; then cryptsetup luksOpen /dev/sdb1 backup && mount /dev/mapper/backup /mnt/usbbackup; fi
 
echo "start synchronizace"
rsync -a --progress --delete /FOTKY_ARW /mnt/usbbackup
echo "konec synchonizace"

echo "odpojení disku" 
if mountpoint -q /mnt/usbbackup; then umount /mnt/usbbackup/ && cryptsetup luksClose backup; fi

echo "Hotovo! :-)"
4.8.2015 22:30 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
cryptsetup luksOpen /dev/disk/by-uuid/$UUID backup
4.8.2015 22:44 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
supeeer:) jdu spat, zitra otestuju a zase se ozvu.. diky moc:)
4.8.2015 22:21 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
chapes to spravne :)

neco && kdyz_neco_bude_ok_neboli_vrati_error_kod_0 || kdyz_neco_bude_spatne_neboli_error_kod_1_a_vice

v pripade if-fi vetveni jde o to ze kdyz je ok(error code 0), tak se provede umount mezi if-fi
a vetev pro mount zas ma za if znak ! cili negaci, takze se provede mount kdyz neni vraceno ok
navratovej kod si muzes zobrazit z promene $?, takto
mountpoint -q /umisteni; echo $?
a vyzkouset co vraci kdyz je nebo neni, vetveni if-fi nebo && || pak taky vetvi podle toho :)
4.8.2015 22:54 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
no už tomu rozumím, moc díky za polopatický výklad :-)
5.8.2015 15:13 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Ještě bych se chtěl zeptat, jestli neexistuje nějaký univerzální parametr, aby byl vrácený jen návratový kód? Např. lvdisplay neumí být sám o sobě tichý...
5.8.2015 18:00 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
pokud nastroj nema nejaky parametr pro "nezobrazuj vystup", muze pouzit universalni presmerovani vystupu ...
# presmerovani stdout - standardni vystup
nastroj >/dev/null
#nebo to same jinak
nastroj 1>/dev/null

# presmerovani stderr - standardni error vystup
nastroj 2>/dev/null

# presmerovani stdout a stderr
nastroj 1>/dev/null 2>/dev/null
#nebo to same jinak
nastroj &>/dev/null
u lvdisplay normalni vystup je kdyz zobrazuje informace, errorvystup je kdyz hlasi ze nenalezl zarizeni, takze aby byl zticha musis presmerovat oboje... tedy v tvem pripade:
lvdisplay /dev/mapper/lvm-root--snap &>/dev/null && echo "Snap uz je..." || echo "Snap jeste neni..."
nebo jednoduse kontrolujes jen existenci souboru:
[ -e /dev/mapper/lvm-root--snap ] && echo je
nebo dukladneji primo existenci blokoveho zarizeni:
[ -b /dev/mapper/lvm-root--snap ] && echo je
(viz seznam operatoru co muzes testovat)

pokud by te zajimali vlastnosti, tak nepresmerovavat, ale pomoci grep odfiltruj co te zajima
lvdisplay /dev/mapper/lvm-root--snap | grep -q "read/write" && echo "je pro zapis"
Jendа avatar 4.8.2015 17:21 Jendа | skóre: 73 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
#!/bin/sh ?
Já používám bash (na Debianu je sh defaultně dash), má víc funkcí (které ty nevyužiješ, takže klidně sh). Nebo taky nic když ten skript budeš spouštět jako bash skript.sh (místo pouhého zadání cesty).

Jo, klidně tak.
4.8.2015 19:56 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Dobře, díky
4.8.2015 21:22 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
No a ještě jedna věc je, že i po umountu ten disk pořád běží. Když ho ale "bezpečně odeberu" přes udisks --detach /dev/sdb ztichne a jen bliká ledka. Existuje nějaká možnost jeho opětovného připojení, bez toho, abych musel fyzicky odpojit a připojit USB? Jde mi o to, aby neběžel nepřetržitě, když na to není dělaný.
4.8.2015 21:32 Peter Golis | skóre: 53 | Bratislava
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
USB3 disk v USB2 porte? Neviem, neviem.
4.8.2015 22:02 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
jj, USB3 disk v USB3 portě, šlo by to?
6.8.2015 00:03
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
skrytý komentář Náš administrátor shledal tento komentář závadným.

Vulgarity.

Zobrazit komentář
4.8.2015 22:39 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
zkus vypnout zapnout napajeni pres sysfs a authorized soubor konkretniho usb portu kde mas pripojen disk, viz, pouzival sem to na vypnuti/zapnuti napajeni USB CDMA/3G modemu, s HDD netusim ;)
5.8.2015 20:47 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Tohle jsem zkoušel, ale nedělá to to, co jsem očekával. Disk sice zmizí z výpisu blkid, ale pořád vrní. Snazil jsem se vypnout a zapnout napájení USB softwarově, ale to se mi nepodařilo..
7.8.2015 09:23 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Tak jsem vyřešil do odpojení a znovupřipojení USB disku. Tzn., že disk přestane vrnět a je "vypnutý":)

Podle návodu, který posílal nobody, jsem si zjistil, že můj disk je připojený k 2-1.1.
# odpojení disku (samozřejmě prováním po odmountování)
# disk zmizí i z fdisk -l a z blkid:)

echo '2-1.1' |sudo tee /sys/bus/usb/drivers/usb/unbind


# připojení disku

echo '2-1.1' |sudo tee /sys/bus/usb/drivers/usb/bind
7.8.2015 18:32 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
fajn :) dobre vedet, jak sem psal ja to pouzil jen na ten modem a tomu kontrolky zhasly a tvaril se jako bez napajeni, tedy i presto ze mel externi adapter :)
5.8.2015 14:10 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Tak jsem si "v mezičase" rozchodil LVM snapshoty, abych nezálohoval živá data. Tak a teď bych to potřeboval všechno doplnit do toho skriptu:) Mým cílem je něco takového:
1. mount USB disku (pokud není přimountovaný)
2. vytvoření LVM snapshotu (pokud není vytvořený)
3. mount LVM snapshotu (pokud není přimountovaný)
4. rsync záloha LVM snapshotu na USB disk
5. umount LVM snapshotu
6. odstranění LVM snapshotu
7. umount USB disku
A to by mělo být vše. Pokud jakýkoliv krok nedopadne, skript se ukončí a nepokračuje dalším krokem (nic inteligentnějšího mě v tuto chvíli nenapadá:).
5.8.2015 14:24 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
a vlastně ještě bod
0. ověřit, zda je USB disk připojený
To všechno mám, zdá se, funkční. Takže "jen" tam dodat to ověřování a vytváření/rušení snapshotů. Dostanu se k tomu večer, a čuju, že se zaseknu na tom ověření, zda snapshot existuje:)
5.8.2015 18:09 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
pokud neprojde nejaky krok pred rsync nemel bys koncit ale udelat kroky co probehly v obracenem poradi...
pokud neprojde po rsync, melo by te zajimat kterej krok a proc a ne jen zkoncit ...
hlavne bys mel kontrolovat i rsync, jestli probehl uspesne ;)
5.8.2015 20:36 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Tak zatím jsem zpatlal tohle:
#!/bin/sh
 
# UUID USB disku podle blkid
UUID="30a8ed74-3d45-4fb1-8d84-3890cb60b0e1"

# Snapshot, který se bude zálohovat
SNAPSHOT="FOTKY"


if ! blkid -U $UUID ; then
  echo "USB disk není připojen!!!"
  exit 0
fi

if [ ! -d /mnt/usbbackup ] ; then
  echo "vytváření adresáře pro připojení disku"
  mkdir /mnt/usbbackup
fi

echo "dešifrování disku"
if ! cryptsetup status -q /dev/mapper/backup ; then
  cryptsetup luksOpen /dev/disk/by-uuid/$UUID backup
fi

echo "připojení disku"
if ! mountpoint -q /mnt/usbbackup ; then
  mount /dev/mapper/backup /mnt/usbbackup
fi

echo "vytvoření snapshotu"
if ! lvdisplay /dev/LVM-sda2-sdb2/$SNAPSHOT ; then
  lvcreate -s -L 1G -n $SNAPSHOT /dev/LVM-sda2-sdb2/$SNAPSHOT
fi

if [ ! -d /snapshots/$SNAPSHOT ] ; then
  echo "vytváření adresáře pro připojení snapshotu"
  mkdir /snapshots/$SNAPSHOT
fi

echo "připojení snapshotu"
if ! mountpoint -q /snapshots/$SNAPSHOT ; then
  mount /dev/LVM-sda2-sdb2/$SNAPSHOT /snapshots/$SNAPSHOT
fi

echo "start synchronizace"
  rsync -a --progress --delete /snapshots/$SNAPSHOT /mnt/usbbackup
echo "konec synchonizace"

echo "odpojení USB disku" 
if mountpoint -q /mnt/usbbackup; then
  umount /mnt/usbbackup && cryptsetup luksClose backup
fi

echo "odpojení snapshotu"
if mountpoint -q /snapshots/$SNAPSHOT ; then
  umount /snapshots/$SNAPSHOT
fi

echo "zrušení snapshotu"
if lvdisplay /dev/LVM-sda2-sdb2/$SNAPSHOT ; then
  lvremove -f /dev/LVM-sda2-sdb2/$SNAPSHOT && rmdir /snapshots/$SNAPSHOT
fi

echo "hotovo!"
:-)
5.8.2015 22:28 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Posledni verze už nevyžaduje heslo, ale klíč k šifrovanému disku, ale stále ještě neověřuje, jestli vše proběhlo tak jak má a také bohužel neřeší případy, když něco selže, aby po sobě všechno vrátila do původního stavu :-/ Např. jsem hned na začátku skript přerušil, neproběhl mount, ale rsync vesele začal sypat fotky do /mnt/usbbackup, přestože tam nebylo nic mountlé - což je samozřejmě nepříjemná chyba v Matrixu :-)
7.8.2015 08:15 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Budu ještě obtěžovat s tímhle tématem. Chtěl bych se zeptat, jestli je nějak možné, aby proměnná $SNAPSHOT byla jako parametr skriptu? Tzn. že bych skript spustil např. takto: ./zaloha -s FOTKY (to "s" je příklad - jako snapshot).
7.8.2015 13:03 helb
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
7.8.2015 18:31 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
# pro pouziti
./jmenoscriptu jedna dva tri

# pouziti paramatru podle poradi
echo $1 $2 $3
PROMENA_1="$1"
PROMENA_2="$2"
PROMENA_3="$3"

# pouzti vsech parametru dohromady jako jeden - tedy jako "jedna dva tri"
echo $*

# pouzti vsech parametru samostatne za sebou - tedy jako "jedna" "dva" "tri"
echo $@

# pro "uplnost" -> zobrazeni nazvu scriptu
# pouzitelne napr. pokud 1 script toho ma delat vice a chces rozlisovat co ma delat podle nazvu symlinku kterej smeruje na script
# tedy napr. script zalohovani, na kterej smeruje symbolickej link zalohu-udelej a zalohu-obnov :)
echo $0
nebo ti jde opravdu o moznost predavat parametry ktere maji nejakou hodnotu (viz tve -s jmeno_snapshotu) ?
14.9.2015 11:35 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Omlouvam se, ze jsem nereagoval div, ale nastala mi nejaka necekana situace. Ted se teda vracim k tematu. Slo mi o to, ze zalohuju zvlast FOTKY, AUDIO, FILMY atd. Jedna se o samostatne LV, takze vytvarim zvlast snapshoty. Proto bych to chtel vymyslet tak, aby se mi "jednim tahem" zazalohovalo vsechno a USB disk se idealne pripojil a rozsifroval jen jednou při spusteni skriptu. To by ale asi bylo uz slozity to do doho scriptu nacpat, pokud bych nekdy chtěl vynechat třeba napr. FILMY. Po pravde, myslel jsem si, ze to bude jednodussi.. uz se v tom nejak zacinam ztracet :(
14.9.2015 14:52 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Jako hraní a zkoušení dobrý, ale pro praxi platí: Kdykoliv použiji jakoukoliv složitější strukturu než to nejjednodušší, potřebuji mít zdůvodněno proč. A pokud se rozhodnu dělit filesystem do menších oddílů (a je jedno jestli lvm nebo přimo na disku), tak je dobré si udělat jasno, proč to dělám. Jeden dobrý důvod je ochrana zbytku před náhodným zaplněním nejakým procesem, při rozdělení na oddíly se zaplní jeden oddíl a zbytek jede. druhý z důvodů je poskytnutí nějakým procesů přímé blokové zařízení bez vrstvy filesystemu (swap a nekteré databáze). Třetí a poslední nutné či potřebné oddělení dat. oddíl /boot při startu z cryptovaného fs, oddělení /home umožní jednoduchou reinstalaci systému bez ovlivňování uživatelských dat. Pro dělení disku na foto, audio a video nic z toho neplatí.

Jednodušší a rozumnější je nechat oddíly co největší, protože FS bude lépe optimalizovat prázdný prostor i umísťování jednotlivých souborů. V oddělených oddílech má možností méně. Dále z hlediska zálohování snapshot má význam, když data jsou živá a na systému se dost mění. Třeba stopnout databázi, vytvořit snapshot, spustit databázi a snapshot zazálohovat, přičemž databáze dále běží. Pro domácí zálohování, obzvlášt toho, co jsi psal, není snapshot kriticky nutný. Pravděpodobně zálohování nepoběží(nespustím ho) přesně v té chvili, když budu do systému tlačit fotky z karty. Navíc LVM snapshoty disk dost zpomalují, protože jednak se zapíšou data a jednak se do jiné části disku píše reverzní operace (původní data) a při přístupu na snapshot se to dává dohromady. A také se nesmí zapomenout ty snapshoty vypínat, aby se jejich oddíly neucpaly.

K otázce: jednak rsync nebo tar zálohuje na úrovni adresářové struktury, takže nemusím mít samostatné volumy. Pokud si chceš pohrát se scriptem tak jednoduché řešení je zpracování parametrů ve skriptu, jednoduše můžeš začít tím, že se podíváš v některém systémovém skriptu jak se zpracovávají parametry a vytvoříš skriptik který budeš volat zaloha AVF, kde AVF by znamenalo, Audio, Video, Foto a přítomnost každého parametru by znamenala, že se záloha provede (popřípadě že bez parametru se provede vše a uvedením parametru to vyloučíš)
14.9.2015 19:34 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
dalsi duvod je ze "to proste chce" a proc by ne :)

s tim ze snapshot se hodi na pohyblive data ve chvili zalohy (system, databaze) souhlas, na zalohy fotky je snapshot naprosto zbytecnej :)

se spracovanim parametru skriptu (krome komplikovane(jsi) varianty parametr=hodnota), sem mu psal, v praxi by tedy jednoduse pouzil variantu predani oddelenejch parametu v hodnete $@ a zpracovani ve for smycce, jednotlive kroky(co ma nekde nahore ve skriptu) by mel sloucene do funkci (a prepsanejsi do prehlednosti ;)
#!/bin/bash

pripravne_kroky(){
   #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1
}

uklizeci_kroky(){
   #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1
}

for snapshot in $@; do
    pripravne_kroky
    rsync blabla
    uklizeci_kroky
done
14.9.2015 19:38 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
oprava, zapomenute to predavani z for do funkci *_kroky:
#!/bin/bash
 
pripravne_kroky(){
   #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1
}
 
uklizeci_kroky(){
   #genericke kroky vyuzivajici predane jmeno parametru v hodnote $1
}
 
for snapshot in $@; do
    pripravne_kroky ${snapshot}
    rsync blabla
    uklizeci_kroky ${snapshot}
done
14.9.2015 20:17 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Příloha:
aha aha, mrknu na to a budu testovat. Snad to tak nejak zacinam chapat:) Jeste bych se chtel zeptat ale na jednu vec. Da se tohle dat nejak do jednoho kroku? Prijde mi to, ze to mam nejake prekombinovane, ale jde mi o to, abych predesel nejakym nesmyslum, kdyz se nejaky krok nepovede.
echo "připojení disku - mount"
if ! mountpoint -q /mnt/usbbackup ; then
  mount /dev/mapper/backup /mnt/usbbackup &>/dev/null
fi

if ! mountpoint -q /mnt/usbbackup ; then
  echo "připojení disku se nepodařilo (je disk fyzicky připojen v USB?)"
  echo "KONEC!"
  exit 0
fi
Cely muj aktualni skript je v priloze.
15.9.2015 00:03 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
mountpoint -q /mnt/usbbackup || (mount /dev/mapper/backup /mnt/usbbackup || (echo "připojení disku se nepodařilo (je disk fyzicky připojen v USB?)"; echo "KONEC!"; exit 0))
to same rozdelene pomoci \ na vice radku pro prehlednost
mountpoint -q /mnt/usbbackup || \
(mount /dev/mapper/backup /mnt/usbbackup || \
(echo "připojení disku se nepodařilo (je disk fyzicky připojen v USB?)"; echo "KONEC!"; exit 0))
"&>/dev/null" sem vypustil, protoze pokud neni problem tak neni vystup zadnej a pokud je problem, neni dobre to zahazovat ale se podle toho zaridit a/nebo upravovat skript na lepe odchyceni takovych situaci v budoucnu ;)
16.9.2015 00:03 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
dalsi duvod je ze "to proste chce" a proc by ne :)
No vzhledem k tomu, že první věta vlastního dotazu tazatele je: "Ahojky, svépomocí a hlavně na základě čerpání informací z podobných diskuzí, jako je abclinuxu jsem si rozjel můj první Linux." mi připadalo rozumné uvést kontex a nějaké doporučení. Všichni máme zkušenosti z dotazy začátečníků, kteří "něco chtějí", ale ne vždy je to rozumné, viz jedna z tazatelových reakcí, kdy píše že rozdělení je proto, že je tam několik uživatelů a různí uživatelé se různým způsobem připojují. Ale tohle neošetřuje LVM a rozdělení na oddíly, ale struktura přístupových práv.
16.9.2015 03:31 nobody
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
to uz upresnil ze tim chtel pouze rict ze nema prehled o tom kdo tam kdy odkud co nahrava, tedy pak ty spapshoty maji jasnej vyznam ;)
rozdeleni lv podle zamereni nevidim jako bad practice(cim nerikam ze tvuj uvod nemuze byt prinosnej, pouze ze mu chybi tato moznost :), takze pokud mu to vyhovuje vazne proc ne :)
16.9.2015 11:01 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
S tím že v tomto případě mají snapshoty jasný význam nesouhlasím. Snapshot má význam pokud musím mít celou zálohu v jednom okamžiku protože struktura obsahuje komplikované vazby a ty jsou třeba mít synchronní. obrázky jsou jednotlivé, navzájem nesouvisející objekty. Porušení objektu v záloze nastane pokud "rozhodný okamžik zálohy" nastane právě ve chvíli, kdy je do obrázku prováděn zápis. tento "rozhodný okamžik" je v připadě snapshotu v okamžiku snapshotu. v případě zálohy bez snapshotu ve chvíli kdy se zálohovací proces dostane k danému souboru, což je sice nepredikovatelné, ale také jasně určený okamžik. Dokonce si myslím, že takto provedená záloha může být konzistentnější než záloha provedená se snapshostem v případě že primárně uživatele do úložiště fotky nahrávají a nemažou. Protože ten zálohovací proces nejdříve přečte adresář získá seznam souborů v adresáří a pak je bude zálohovat. Pokud ve chvíli, kdy přečetl adresář, tam byly některé ne zcela zapsané soubory, je možné, že až se k nim dostane budou už zapsané plně. A nové soubory, které se v průběhu jeho zálohy mohly v adresáři objevit nezjistí a nezazálohuje, protože adresář nemonitoruje ale vlastně získá snapshot jmen souborů z okamžiku čtení adresáře. Nicméně se tohle může lišit podle implementace FS.

Jiná situace by byla, když by na těch fotkách někdo přímo pravidelně pracoval třeba v digiKamu nebo jiném editačním systému, pak je snapshot potřeba.

Nemyslím si že slovo vyhovuje odpovídá situaci tazatele. spíše že hledá řešení a udělal nějaký design, ten má nejaké vlastnosti a úskalí a píšu to proto, že když nekteré struktury opustí, jaké to má vlastnosti.
Josef Kufner avatar 16.9.2015 12:22 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
A nebo ten adresář může číst postupně a soubory během čtení adresáře rovnou zálohovat. Nově vytvořené soubory se budou objevovat na konci adresáře a než se k nim zálohovací program dostane, tak se mu tam objeví.
Hello world ! Segmentation fault (core dumped)
14.9.2015 20:13 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
No hlavni duvo, proc to mam takhle rozdeleni je, ze k tem LV pristupuje zhruba 20 uzivatelu. Rodina a kamaradi. Kazdy ma pristup nekam jinam, nekdo je pripojeny pres wifi, nekdo pres openvpn, nekdo kabelem, a proto se neda presne odhadnout, kdo kdy tam nejaka data sype:) Proto jsem se rozhodl pro zvlastni LV a snapshoty. Mam to nastavene tak, ze vzdy mam minimalni velikost, kterou podle potreby navysuji. Uzivatele to potom nuti k setreni prostorem. Dale pak tim eliminuju zbytecne zaplacani nesmyslnymi filmy na ukor fotek atd. Myslel jsem si, ze tahle myslenka je dobra:)
Josef Kufner avatar 14.9.2015 21:08 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
A není jedno, odkud a kudy se připojil? Hlavní je, aby to byl zabezpečený kanál.

Btw, máš zálohu toho disku? S tímhle experimentováním se ti brzy něco rozsype.
Hello world ! Segmentation fault (core dumped)
14.9.2015 21:27 Martin
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Myslel jsem to tak, ze tam nesype fotky nikdo, kdo sedi vedle me v mistnosti a tak nemuzu hlidat, aby to v dobe zalohovani nedelal:) No mam tam dva disky v raidu a ted se snazim udelat zalohovani na USB disk. Jednou za cas to kopcim jeste "rucne" do jednoho desktopu.
16.9.2015 00:23 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: Jednoduchá záloha na USB disk
Dobrá myšlenka je, že uživatele se drží pod krkem. k provedení: Jak omezovat uživatele na jednom FS se používají kvoty. nemusíš cvičit s LVM.

K snapshotům: je potřeba si uvědomit, že snapshoty tě neochrání před nekonzistencí dat. Snapshot vyrobí časový snímek a zaznamenáš FS v jednou okamžiku. Když v tom okamžiku jsou otevřené soubory na psaní a je do nich zapsaná pouze část tak to tak zůstane zamražené v snapshostu. Hlavně se používá proto, aby zálohovaná data nebyly z různých časů a tím pádem časově nekonzistentní. Když tam několik lidí sype fotky tak v podstatě o nic nejde. to jestli přesně v tom okamžiku kdy záloha chce číst nějakou fotku, tak se ještě do ní píše a bude jen částečně zapsaná tak bude správně zazálohována v příští záloze. Také si uvědom, že když budeš mít snapshot, a pak zálohovat tak ta zmíněná fotka v něm vůbec nebude, protože snapshot zamrazil stav ve chvíli, kdy se ještě nezačala zapisovat.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.