Nie som programator, tak ma nekamenujte. Vytvoril som si jednoduchy skript na zalohu webu a DB
#!/bin/bash mysqldump wptest > ~/wptest-$(date +%Y-%m-%d-%H.%M.%S).sql tar -cvzf ~/backup_wptest-$(date +%Y-%m-%d-%H.%M.%S).tar.gz /var/www/wptest
Tento skript spravy obsah adresara webu a tak isto mysql databazu napr.
backup_wptest-2020-03-28-11.04.56.tar.gz wptest-2020-03-28-11.04.56.sql
Po nejakych vacsich upravach spustim vzdy zalohu. Potom vznikne tych zaloh viac
backup_wptest-2020-03-28-11.04.56.tar.gz wptest-2020-03-28-11.04.56.sql backup_wptest-2020-03-26-10.04.56.tar.gz wptest-2020-03-26-10.04.56.sql backup_wptest-2020-03-24-11.04.56.tar.gz wptest-2020-03-24-11.04.56.sql
Teraz chcem spravit restore webu, takze postupujem takto, zatial len po prikazoch. Najprv odstranim obsah adresara /var/www/wptest/ a potom si vypisem obsah adresara kde mam zalohy.
sudo rm -rf /var/www/wptest/{*,.*} ls -a
skopirujem si rucne zalohu a vlozim ju do prikazu
sudo tar xvzf ~/backup_wptest-2020-03-28-11.04.56.tar.gz -C /
Dalej mam skript, ktorym riesim vymazanie a nahratie novej DB. Cize zase pouzijem ls -a a skopirujem si DB, ktoru chcem obnovyt. Potom otvorim skript na obnovu DB
#!/bin/bash mysql -e 'DROP DATABASE IF EXISTS `wptest`' mysql -e 'CREATE DATABASE `wptest`' mysql wptest < wptest-2020-03-28-11.04.56.sql
Do posledneho riadku skopirujem subor.sql, ktory chcem pouzit a spustim skript. Vsetko funguje paradne, ale zda sa mi to dost zdlhave a chcel by som to zjednodusit. Pre nie programatora je to zrejme problem.
Uvazujem to nejak takto, dalme tomu pre DB: 1. vypisem si len subory s DB
ls -a | grep wptest-20.*.sql
a dostanem vypis
wptest-2020-03-28-09.43.56.sql wptest-2020-03-28-11.04.56.sql
Uz som to niekde videl, ale neviem ako to spravit. Ked pouzijeme "ls" tak na stdout dostaneme vypis suborov aj s poradovymi cislami a terminal caka na zadanie cisla
1. wptest-2020-03-28-09.43.56.sql 2. wptest-2020-03-28-11.04.56.sql
Podla toho, ktoru DB chceme obnovit, tak zadame to cislo, napr. 2. A tato hodnota "wptest-2020-03-28-11.04.56.sql" sa ulozi do skriptu na obnovu DB (do riadku 4 za "ysql wptest < "). Potom sa uz len spusti skript na obnovu DB a hotovo. Tak isto by to mohlo fungovat aj s vyberom zalozneho adresara.Vedel by ma aspon niekto nakopnut ako to spravit ?
na vyber pouzi program dialog, odpoved zapisuje do stderr (presmerovanie do suboru cez 2>).
Na zvysok ulohy mozes tiez pouzit bash. Specialne ta bude mimo standardnych prikazov, ktore uz teraz pouzivas, zaujimat aj funkcia read + nieco na vylistovanie obsahu priecinka.
zrejme budem musiet trocha postudovat shell, sed, awk atd, lebo to zrejme nedam dokopy, ide mi to dost pomaly.
pozri si man bash prikaz select co tak:
este nieco...?
Mas zly shell. Pouzivas SH, nie BASH.
Je to prikaz bash, nie program.
takze ja mam zly shell... a fungoval by mi ten tvoj skript aj na *bsd...?
Neries, co by keby.
Odrbal si sa, keď si si nevšimol, že on používa sh
Nič si z toho nerob, ešte to pár krát v živote zažiješ
:-D
Ak bolo to cielom samalama, tak najskor ano.
Ale nikde nie je napisane ze pise pre BSD a ani, to ze je skript pisany pre /bin/sh, neznamena ze je systemovy shell. To su vase dedukcie, ktore moze ale nemusia byt pravdive - co by bolo, keby.
A napisal som, ze v bash ma select. Ak nepouzije, nic sa nestane.
hned prvy riadok scriptu ;)
Citaj poriadne ciarky vo vete - menia vyznam a neslovickaruj ma. Viem co som napisal a spravne (pisem niekedy horsie).
Keď ťa v práci posadia za počítač s tou čiernou obrazovkou, a nebude v nej bash a ani prompt neukáže C:\, tak pochopíš prečo SámDoLáma použil posixový shell.
Je pekné používať rozčírenia toho/ktorého shellu, ale nie je dobré si na ne moc zvykať alebo ich striktne vyžadovať.
pre mna je to jasny signal ze to je sh a nie bash ale ok
Vyborne, dik za skript. Aj ked som ho este neskusal, najprv sa ho snazim pochopit a az potom ho vyskusam. Uz som si zohnal knihu na shell, takze budem studovat. Inak takyto skript by som ja v zivote nenapisal, dik
tak som skusal skript a funguje na jednotku. Aj ked mojou vinou som mal iste problemy a to konkretne tieto:
Kedze som to pred tym obnovoval rucne a vymazanie web adresara vyzadoval sudo. Ked som skript spustil zo sudo, tak sa nezdarila restore mysql, pretoze v ~/ som pouzival .my.cnf, kde som mal ulozeny login do DB. Rozmyslal som ako spustit cely skript bez sudo a sudo aplikovat len na jediny prikaz v skripte
ale nepodarilo sa mi najst ako to aplikovat do skriptu. Takze v /root som vytvoril .my.cnf a restore robim ako root
Normálne pustíš skript pod bežným užívateľom a tam kde potrebuješ sudo si pred príkaz napíšeš sudo a on si vypýta heslo.
Este som zistil jeden problem. Ked som skript spustil, vybral som pre obnovu tar a tiez subor sql, tak sa to tvari, ze vsetko prebehlo OK. Databaza bola urcite aktualizovana, lebo to je vidiet na webe. Problem je asi ten, ze nebol korektne vymazany web_root (cize /var/www/wptest). Predpokladam, ze tento prikaz spravi to,
ze vymaze obsah adresara, ktory je ulozeny v premennej $web_root. Ked sa ten prikaz nevykona, tak exit vrati hodnotu vykonaneho prikazu, co bude hodnota rozna od nuly (najskor 1) Mne ale tento prikaz zrejme prebehne, lebo program nevyhodi ziadnu chybu. Potom nasleduje rozbalenie taru
to zrejme prebehne tiez dobre. Neviem to posudit, lebo vo web_root sa velmi subory nemenia, takze ten je v podstate rovnaky (postupom casu tam ale subory mozu pribudat). To ze sa nevymaze $web_root som zistil tak, ze som tam zamerne vytvoril adresar navyse a po vykonani celeho restore skriptu tam ten adresar stale bol, cize
ako keby sa nekonalo
Čudný smajlík: {*,.*}
Pritom všetci vieme, že tam má byť sudo rm -rf $web_root/:-D
Chýba ti tam medzera, a malo by to byť aj so žmurknutím:
Teraz je to dokonalé, škoda že to blokli.
Ja viem ze musite pracovat z domu, ale mozete si ist robit srandu niekde inde ?
Nemáme kde a nie je nič zábavnejšie ako keď niekto robí copypaste bez rozmyslu.
Vieš čo je $ pred nejakým slovom?
Za (a) neuhradil si poplatok za používanie shellu. Za (b) názov premennej. (c) je vypraná v perwolle
Potom povedz, ako vyriešiš keď ti medzi dumpom DB a zbalením FS preskočí sekunda na inú hodnotu. A takých drobností ktoré sa postarajú o easter eggs tam máš viac.
Hned prva veta v tomto topicu znie "Nie som programator, tak ma nekamenujte" Viete ze sa bavite z laikom, ktory ma mozno nejake zaklady z prikazoveho riadku. Robit si tu z niekoho srandy nie je na mieste. Taketo ftipky ako co znamena $ pred nejakym slovom, tiez nie je na mieste. Ak niekto ma zaujem poradit, rad to privitam a podakujem, ale na srandicky su ine diskusie.
Nie som programator, nie som IT pracovnik zamestnany v IT oblasti a nerobim z toho ziadne ksefty. Linux ma bavi a po veceroch sa s takymito vecami zabavam. Napadlo ma ako by sa dal jednoduchsie zalohovat resp. obnovit moj testovaci wordpress. Ak mi tento skript nebude fungovat, alebo ho nebudem mat vobec, tak mi to nebude vadit. Budem to obnovovat o 1 minutu dlhsie (a nepotrebujem to robit 10 krat denne). Ak niekto nechce pomoct, tak nemusi, ale verim, ze su tu ludia, ktori maju zaujem poradit. A ja som vzdy vdacny ked sa nieco nove naucim.
Ja uznávam Že každé začiatky sú ťažké, ale tým čudným smajlíkom som decentne naznačoval na problém že pri pokazení práv na webroot sa ti nemusa tie práva pri tvojom type obnovy aj obnoviť do pôvodného a funkčného stavu.
Stačilo napísať neviem, nechápem ako niekto okrem jedného slova dokáže napísať knihu.
Tak 99% pokročilejších užívateľov ráta s tým, že sa aj ty sa budeš vzdelávať a nie len brať a sať. To si zaplať platenú podporu.
Pozri sa sem. Ked nechces nemusis pomahat a radit nikomu, nechaj si vsetko pre seba. Poznal som ludi co povedali, ze nikomu rozumi davat nebudu (ale paradoxne im niekto ten rozum dal).
Tak ja pomáham roky, Koľkým ľuďom si pomohol ty?
Keď s týmto prístupom prejdeš všetky odborné fóra, tak všade so 100% úspešnosťou odídeš s prázdnou.
Jediný dôvod prečo som sa ťa vôbec na niečo pýtal bola táto veta:
Uvídime keď si ju naštuduješ ako budeš rád odpovedať ľuďom tvojho typu. Vy nemáte čo na práci, tak mi všetko napíšte, lebo vy to viete.
Stále vydávam otázky na vypracovanie domácej úlohy a všade to končí odpáľkovaním autora. Nechápem to však nikto určite nemá nič lepšie na práci.
Vieš ako sa súhrnne hovorí týmto ľuďom?
Ja pomaham v inych veciach, nie v tych co neviem. Urcite to nerobim tak, ze odpisem niekomu, aby si to nastudoval (pretoze ak si to nastuduje, tak sa to nemusi nikoho pytat). Napisal som, ze nie som programator a shell, c a pod ... nie su jazyky aby si sa ich naucil za tyzden (a niektory si po 10 rokov kodenia povedia, ahaaaa toto som ani nevedel, ze to tak funguje). Knihu na shell som si zohnal a ma to asi 400 stran, zatial som na str. 42. Knihu takehoto typu nemozes citat ako roman, ze za 1 den ju precitas. Niekedy sa zdrzim na jednej strane pol dna a aj tak tomu autorovi nerozumiem celkom dobre (keby bolo programovanie take lahke, tak by programoval kazdy druhy). Okrem toho chodim do roboty, ktora je uplne mimo IT odbor a takymto linuxom sa venujem len po veceroch, ked mam viac casu.
Ja som clovek, ktory si nenechava vsetko pre seba a ak nieco viem, tak vzdy pomozem. Ja som nenapisal, aby ste dali skript na zlatom podnose, chcel som nakopnut a myslel som si, ze to pojde nejak jednoduchsie ale ked som videl skript od samalama, tak som si povedal, ze na to mi treba nejaku knihu, alebo pouzit internet a hladat o prikazoch ako funguju if, for, awk atd ...
A co sa tyka skoly, tak ja som 22 rokov von zo skoly, takze nejde tu o ziadne zadanie. Ked som chodil do skoly, tak v skole este nebol internet a ani ziadny spoluziak internet nemal. Prvy krat som videl osobny PC 286 ked som mal 16 rokov.
Takze ak niekto ma zaujem, moze pomoct, poradit, usmernit ak zaujem nema, tak nemusi.
Nerieš ich.
Tu sú niektorý ľudia dosť citlivý ľudia na seba a na ľudí ktorí vstupujú do ich prostredia. Už nie je blackhole.sk, kde spokojne mohli chodiť kadejaký exoty. A tu chodili tá najlepšie smotanka s IQ a EQ.
Kedže v týchto časoch nie je na linuxos.sk žiadná výrazná osobnosť, ktorá by bola vodcovský spätá s týmto portálom, tak to tak vyzerá ako to vyzerá. A nevedomky možu ohlupovať, ak sa nestarajú o seba.
Nikoho na tomto fore nepoznam, som tu kratko (aj ked zaregistrovany tu som uz dost dlho). Ale vsade je to velmi podobne. Tak isto je to v mojej praci. Niektorich kolegov mam neskutocne arogantnych, neprijemne hnusnych, vulgarnych. Uz som si viac krat povedal, ze dam vypoved a pojdem pracovat aj za polovicnu mzdu, ako ked mi ma niekto zneprijemnovat zivot. Ale zase su tam aj slusny a je ich prevaha.
Nech to tu nikto nebere osobne. Ak som sa niekoho dotkol, alebo som ho nejak urazil, alebo som urobil zle, ze som sa tu na nieco pytal, tak sa vsetkym ospravedlnujem. Ak by som sa tu uz viac nemal pytat na nic z linuxu, tak mi to napiste, dajte mi ban, alebo zruste moje konto na tomto serveri.
dakujem
Nebuď citlivka, my sa tu niekedy doberáme, žiadne zrušenie konta :-)
Pre blízkeho to môže byť doberanie, ale pre ostatných to môže veľmi nepríjemné až šikanujúce.
Žiaľ, žiadná zodpovednosť. Využiť niekoho dielo a značku (linuxos.sk) v svoj prospech a dôsledky sa ma netíkajú.
Môj príspevok neber ako ironiú, čo som písal. Tu chodili slušne sa reprezentujúci ľudia. A hlavnou témou bolo IT, a nie ego a čo všetko (čo zo sebou) mimo IT robí.
Kukni si ešte české fóra ako abclinuxu.cz a root.cz.
+100
-100
Trotli budú vždy a všade. Ak ich obsluha nedokáže spacifikovať a bude ich znova podporovať, tak sa aj tu budú rozťahuvať do nekonečna.
Spýtal som sa jednu otázku a dostal som 12 dielov Tolstého a nejakého ... čo doporučuje hejterov z Abička a potom portál kde sa nedá diskutovať.
Toto všetko namiesto jedného slova, gratuľujem páni a dámy.
@jany1 čo sa týka Bedňu si úplne mimo. Táto hlúposť čo si napísal o tebe veľa prezradila.
Ale nechajte ho. Učí sa, a hrá. Zatiaľ dokázal zvládnuť koncept, vytiahnuť skoro hotové riešenie od Samej Lamy (čo sa podarí málokomu), presvedčiť ostatných že sa v tom bude vzdelávať, a hlavne reagovať podráždene keď sa mu ľudia decentne snažili naznačiť kde má chyby v návrhu.
Najmä to, že od Samej Lamy dostal takmer kompletky je veľmi zarážajúce. Nebudem konšpirovať o tom, aký je medzi nimi vzťah. Teda, či sa zas Patočkovci nestavili s voľakým že tu rozhádajú pupákové tváričky.