Portál AbcLinuxu, 4. května 2025 15:32

Dotaz: Crontab - automaticka zaloha pomocou rsync

9.1.2014 18:59 Maros Lukac
Crontab - automaticka zaloha pomocou rsync
Přečteno: 1520×
Odpovědět | Admin
Dobry večer prajem,

Chcel by som sa opýtať, mam taky menši problémik s cronom na OS X Mavericks. Potreboval by som aktivovať automaticku zalohu z PC na server. Mam vytvoreny script "transfer.exp", ktorý obsahuje:

#!/usr/bin/expect

set PASSWORD "1234"

spawn "./syncdata.sh"

expect "password:"

send "$PASSWORD\r"

interact

Cron tento script spustí, ale zastavi sa pri zadavani hesla. No keď tento script spustim manualne, tak mi to pekne beží. Zada si to automaticky heslo a synchronizuje. Kde môže byť chyba ? Ďakujem.

Cron príkaz: 1 0 1 1 * /Users/Apple/transfer.exp
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.1.2014 19:09 potato
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nebastli zadávání hesla expectem a používej ssh klíče (pokud už vůbec zálohuješ ručně napsaným skriptem).
9.1.2014 20:13 Maros Lukac
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Odpovědět | | Sbalit | Link | Blokovat | Admin
A tymto spôsobom to nepôjde?
9.1.2014 20:28 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Napiš si SSH klíč a do něj si dej rsync. Budeš to mít all-in-one.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
9.1.2014 20:37 Maros Lukac
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Keď mne sa nedari tie SSH kľuce vytvoriť tak, aby ma to prihlasilo automaticky...stale zadavam heslo. Neviem kde robim chybu. Vytvorim kľuč, uloži sa mi to do .ssh/ a subor "id_dsa.pub" uložim na server .ssh/authorized_keys/id_dsa.pub. Skusim sa prihlasiť - nefunguje, musim zadať heslo :/ Preto ma napadla tato alternativa.
9.1.2014 21:05 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Na serveru ten klíč musíš nahrát do souboru ~/.ssh/authorized_keys
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
9.1.2014 21:08 Maros Lukac
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Takto som spravil a nič :/
9.1.2014 22:23 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Smazal jsi adresář .ssh/authorized_keys/? Nemá tam co pohledávat.

Pokud jsi do toho klíče uložil heslo, tak ho samozřejmě při přihlašování bude vyžadovat. Pro tento účel se dělá klíč bez hesla s jiným názvem. Aby se toho nedalo zneužít, tak se do klíče na serveru přidá příkaz, který se má provést při přihlášení na server. Nic jiného se na něm neprovede.

Doporučuji ten klíč pojmenovat jinak, než "id_dsa". Například "zalohovani". Bude se tedy nacházet v souboru .ssh/zalohovani.pub. Pokud budeš chtít zálohovat, spustíš to na lokálu takto:
ssh -i zalohovani user@server
a na serveru se provede příkaz, který se nachází v souboru .ssh/authorized_keys na řádku s tvým veřejným klíčem. Těch klíčů tam může být totiž víc, na každém řádku jeden.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
martin-ux avatar 9.1.2014 22:31 martin-ux | skóre: 18 | Bratislava
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
predpokladam, ze sa userclient na client masine pripaja ako user na server.

odtestuj najskor spravnost passwordless pripojenia pod userlinet z client pomocou ssh -vvv user@server. over si
  • a) client:
      ssh kluc ma spravne permission (ak si vytvaral kluce cez ssh-keygen, malo by tak byt by defualt). maximalne dovolene: pub key 644, private 600, owner je userclient
  • b) server:
    1. v ~client/.ssh/authorized_keys sa nachadza spravne pubkey, napriklad: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaeuha+94Ug1hD8bCc.......<trimmed output>.............
ak ma userclient viac klucov, mozes ten spravny specifikovat cez ssh -i /path/to/the/key
..when you do things right, people won't be sure you've done anything at all..
10.1.2014 00:34 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Příloha:
OS X neznám, ale mohl tam být i script ssh-copy-id, který nakopíruje vytvořený veřejný klíč na server přes ssh. Přiložil jsem ho (54 rádek). je z openSUSE. Netuším, jestli se třeba na OS X nemusí přiohnout nějaké proměnné prostředí.
11.1.2014 19:39 Maros Lukac
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Odpovědět | | Sbalit | Link | Blokovat | Admin
Už to fiči, ďakujem Vám! :) Chcem sa ešte opýtať, ako sa da obísť memory_limit pri sťahovani väčšieho suboru ? Ja mam nastaveny memory_limit na 260MB, viac sa bohužiaľ nedá. Takže keď chcem stiahnuť subor zo servera väčší ako 260 MB, tak nestiahne. Sekne to pri 263MB a koniec. Neviem ako upraviť logiku PHP scriptu tak, aby stiahlo cely subor. ĎAkujem za rady.
11.1.2014 21:31 potato
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Kde se proboha mezi cronem, shellem a rsyncem bere PHP?
13.1.2014 23:12 R
Rozbalit Rozbalit vše Re: Crontab - automaticka zaloha pomocou rsync
Predpokladam, ze to nijako nesuvisi s povodnou temou. Ak nacitavas 260MB subor do pamati, tak robis nieco zle.

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.