Strona 1 z 1

[bash] Jak to zminic zeby byl autobackup

: 25 cze 2008, 14:44
autor: maxblink
Witam
jestem nowym uzytkownikiem i mam pytanie. Napisalem taki skrypcik:

#!/bin/bash

cd /home/dex/backupy

echo 'Data:'
read name

tar cvvf $name.tar.gz /home/dex/pvpgn/var/charsave /home/dex/pvpgn/var/charinfo /home/dex/pvpgn/var/users

i jak zorbic zeby przykladowo robilo mi sie to co 2 dzien okolo 24.00 ? Wiem ze jest taka opcja ale nie wiem jak. Moglby ktos kumaty powiedziec jak to zorbic albo napisc mi krotki poradnik krok po kroku ? ew zrobicto?
z gory dzieki
pozdrawiam

Odp: [bash] Jak to zminic zeby samo sie robilo?

: 25 cze 2008, 15:09
autor: pkleszcz
Wpisujesz:

Kod: Zaznacz cały

crontab -e

i dodajesz linijke z uruchomieniem skryptu np:

Kod: Zaznacz cały

#*/5 * * * * . $HOME/setenv.sh && $HOME/my_script.sh
Musisz tylko poczytać jak ustawić czas bo nie pamiętam.

Odp: [bash] Jak to zminic zeby samo sie robilo?

: 25 cze 2008, 15:24
autor: leon1313
maxblink - popatrz, co robi twój skrypt- wprowadza interakcje , tu konkretnie odpowiedź usera na "read name".
Albo ustal sobie nazwę archiwum na robioną przez skrypt, np
name="backup.`date +%s`";
albo zapomnij o dodaniu tego do cron-a
teraz inna sprawa: jak chcesz dodać cos do crona, to format jest taki:

minuta godzina dzień miesiąc dzień_tygodnia skrypt

np:
0,15,30,45 * * * * /home/lamer/bin/inwokacja.sh

jest wykonywane co co godzinę, co kwadrans.

0 1 12 * * /home/lamer/bin/inwokacja.sh
bedzie wykonany 12-go każdego miesiąca o 01:00

Odp: [bash] Jak to zminic zeby samo sie robilo?

: 25 cze 2008, 16:41
autor: maxblink
leon1313, rozumiem ze to musi miec konkretny format, ten co mam to ja musze robic recznie i licze sie z tym ze zajda zmiany o ile to bedzie mialo sie robic automatycznie. Bylby ktos w stanie mnie bardziej naprowadzic? Przeslac jakis wzor albo ow skrypt po zmianach na maila bo ja i tak za wiele nie kumam z tego - tamten skrypt co napisalem to pikus a tu nigdy takiego czegos nie robilem i nawet nie wiem jak sie zabrac;/
leon1313 pisze:maxblink - popatrz, co robi twój skrypt- wprowadza interakcje , tu konkretnie odpowiedź usera na "read name".
Albo ustal sobie nazwę archiwum na robioną przez skrypt, np
name="backup.`date +%s`";
albo zapomnij o dodaniu tego do cron-a
teraz inna sprawa: jak chcesz dodać cos do crona, to format jest taki:

minuta godzina dzień miesiąc dzień_tygodnia skrypt

np:
0,15,30,45 * * * * /home/lamer/bin/inwokacja.sh

jest wykonywane co co godzinę, co kwadrans.

0 1 12 * * /home/lamer/bin/inwokacja.sh
bedzie wykonany 12-go każdego miesiąca o 01:00
mistrzu, widze ze wiesz co piszesz, mozesz mi tak jak laikowi rozpisac?

Odp: [bash] Jak to zminic zeby samo sie robilo?

: 25 cze 2008, 19:21
autor: el.pescado
Użyj graficznego programu do zarządzania cronem, np. gnome-schedule, czy coś z tej strony: http://www.debianhelp.co.uk/cronweb.htm i wyklikaj.

Ale, jak kolega wyżej, uważam, że żądasz niemożliwego. Skrypt może być albo wykonywany automatycznie albo ręcznie. Nie można uruchomić skrytpu automatycznie, który czyta dane ze standardowego wejścia. Jeśli chcesz mieć daty w pliku, użyj czegoś w stylu

Kod: Zaznacz cały

name=`date '+%F'`

Odp: [bash] Jak to zminic zeby samo sie robilo?

: 25 cze 2008, 20:26
autor: leon1313

Kod: Zaznacz cały


#!/bin/bash

name="backup.`date +%s`"
tar cvfz /home/dex/backupy/${name}.tgz /home/dex/pvpgn/var/charsave /home/dex/pvpgn/var/charinfo /home/dex/pvpgn/var/users
i zapisz to np. jako plik

Kod: Zaznacz cały

/home/dex/robot.sh
potem nadaj prawa do wykonywania

Kod: Zaznacz cały

chmod +x /home/dex/robot.sh
oraz dodaj całość do crona - wejście w tyryb edycji:

Kod: Zaznacz cały

crontab -e
i dodaj linijkę

Kod: Zaznacz cały

59 23 * * * /home/dex/robot.sh
i będziesz miał wykonywane codziennie o 23:59 :-)

Odp: [bash] Jak to zminic zeby samo sie robilo?

: 25 cze 2008, 22:08
autor: maxblink
leon, zrobilem ten plik. zapodalem go do crona[tylko nie wiem czy poprawnie, a wyglada to tak:

Kod: Zaznacz cały

# m h  dom mon dow   command
#!/bin/bash

name="backup.`date +%s`"
tar cvfz /home/dex/backupy/${name}.tgz /home/dex/pvpgn/var/charsave /home/dex/pvpgn/var/charinfo /home/dex/pvpgn/var/users
59 23 * * * /home/dex/robot.sh
i na koniec wyskoczylo mi takie cos po zapisaniu i wyjsciu:

Kod: Zaznacz cały

no crontab for dex - using an empty one
crontab: installing new crontab
"/tmp/crontab.zrBMZK/crontab":4: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit?
moze nie mam uprawnien od amina dedyka danych?
no i jakies wiecej errory

Pomoze ktos?

Odp: [bash] Jak to zminic zeby byl autobackup

: 25 cze 2008, 23:34
autor: Struchu
Do crontaba dodajesz tylko linijkę:

Kod: Zaznacz cały

59 23 * * * /home/dex/robot.sh

Odp: [bash] Jak to zminic zeby byl autobackup

: 26 cze 2008, 08:02
autor: maxblink
teraz wyskoczylo mi takie cudo [ps. dzieki Strachu!]

Kod: Zaznacz cały

dex@ns2014706:~$ crontab -e
no crontab for dex - using an empty one
crontab: installing new crontab
ale to zdaje sie juz jest pozytywne ;]

Odp: [bash] Jak to zminic zeby byl autobackup

: 26 cze 2008, 12:57
autor: Struchu
Generalnie nie ma sprawy, z tym że nie Strachu, tylko Struchu ;)

Odp: [bash] Jak to zminic zeby byl autobackup

: 27 cze 2008, 00:28
autor: maxblink
sorx~~ ps. mozna zamknac;]

EDIT:
a jednak nie dziala... plik ten zrobil sie o takiej nazwie:
backup.1214517541.tgz
no i powinen zajmowac okolo 3mb a zajmuje 0,3mb... ktos ma jakas rade co jest nie tak?

Odp: [bash] Jak to zminic zeby byl autobackup

: 28 cze 2008, 13:52
autor: el.pescado
Rozpakuj i zobacz czy wszystko jest. Niektóre pliki się zadziwiająco dobrze kompresują.

Odp: [bash] Jak to zminic zeby byl autobackup

: 29 cze 2008, 09:18
autor: maxblink
jest ale po dluzszej pomocy struch`a

dzieki

mozna zamknac

Odp: [bash] Jak to zminic zeby byl autobackup

: 01 lip 2008, 19:23
autor: leon1313
Poza tym jeżeli masz wątpliwości co do słuszności zastosowanej ideologii, jest cosik takowego w Ubuntu jak "Keep- Narzędzie do kopii zapasowych " - standardowo instalowany z dystrybucją ( Kubuntu ). Miód-malina . Pod Gnome podobnie, w menu wystarczy poszukać