Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Inny

bash- skrypt do autoamtyzacji dem

Inny

  • Zamknięty Temat jest zamknięty
24 odpowiedzi w tym temacie

#1 wenus

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 20.01.2011 13:29

Witam, Posiadam dedyka na nim nagrywam dema HLTV oraz smiga tam serwer www. męcze sie z skryptem . Pakującym dema w danej lokalizacji . Przenoszącym spakowane do danej lokalizacji niby nic ale w miedzy czasie wyszło kilka problemów . Ich rozwiązaniem miał byc ten skrypt Pack demos.sh – HLDS.pl
lecz... nie śmiga mi . Skrypt oprócz opcji które opisałem posiada - NIE PAKOWANIE AKTUALNIE NAGRYWANYCH DEM <- najważniejsze oraz usuwanie dem po xx czasie .

Przy próbie odpalenia wyskakuje


./skrypt.sh
================
find: paths must precede expression: 1101201319-de_dust.dem
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
0 files.
Listing old files



Pozdrawiam i licze na pomoc kogoś bardziej obeznanego w tej materii
  • +
  • -
  • 0

#2 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.01.2011 14:04

Udostępnianie dem HLTV na stronie www - Nieoficjalny polski support AMX Mod X
Skrypty do kompresji i wyświetlania dem - Nieoficjalny polski support AMX Mod X

A tu wersja "łopatologiczna"

#!/bin/bash
DEMDIR="/home/dema/cstrike" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/dema/spakowane" # folder docelowy z demami spakowanymi

cd $DEMDIR
gzip -5 *.dem
mv $DEMDIR/*.gz $DESCDIR
find $DEMDIR/*.gz mtime +7 -exec rm {} \;


  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#3 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 20.01.2011 15:18

Witaj Portek - dzięki za szybka odpowiedź . Oby dwa tematy Które podałeś znam Twój skrypt do wysyłania za pomoca php'a też :) ale link 1 - wysyła na ftp i nie omija dem nagrywanych ( przynajmniej napisałem na podstawie jego własny skrypt i nie omijał ) Link 2 - bardzo dziwnie mi to działa . wole proste rozwiązania :)


Co do tego co napisałeś Czy skrypt ominie demo aktualnie nagrywane ? mtime +7 domyślam się ze ta linijka odpowiada za ta funkcje ale wole sie upewnić :)


Pozdrawiam !
  • +
  • -
  • 0

#4 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.01.2011 18:06

Co do tego co napisałeś Czy skrypt ominie demo aktualnie nagrywane ? mtime +7 domyślam się ze ta linijka odpowiada za ta funkcje ale wole sie upewnić :)

Ogólnie rzecz biorąc gzip nie powinien brać się za pliki które nadal się przetwarzają (generują), jeśli tak będzie to skorzystaj z tego:
#!/bin/bash
DEMDIR="/home/dema/cstrike" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/dema/spakowane" # folder docelowy z demami spakowanymi

cd $DEMDIR
find $DEMDIR -cmin 30 -exec gzip -5 {} \;
mv $DEMDIR/*.gz $DESCDIR
find $DEMDIR/*.gz -mtime +7 -exec rm {} \;


Skrypt nie będzie ruszał pliku aż do momentu kiedy czas ostatniej modyfikacji będzie większy niż 30min. Ostatnia linijka odpowiada za kasacje dem (spakowanych) które mają więcej niż 7 dni.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#5 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 20.01.2011 18:58

Hm coś nie hula ten skrypt
lekko go zedytowałem

#!/bin/bash
DEMDIR="/home/test/dema" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/test/dema1" # folder docelowy z demami spakowanymi
DEST_DIR=$(date +%F)


mkdir "/home/test/dema1/${DEST_DIR}"

cd $DEMDIR
gzip -5 *.dem
mv $DEMDIR/*.gz $DESCDIR/DEST_DIR/
find $DEMDIR/*.gz mtime +7 -exec rm {} \;

dodałem tworzenie katalogu z aktualna data.

Ale mimo wszytsko skrypt rzuca błędami

./test3.sh
gzip: *.dem: No such file or directory
mv: cannot stat `/home/test/dema/*.gz': No such file or directory
find: `/home/test/dema/*.gz': No such file or directory
find: `mtime': No such file or directory
find: `+7': No such file or directory

dodam ze w DEMDIR="/home/test/dema" sa pliki z demami blabla.dem :)

Użytkownik wenus edytował ten post 20.01.2011 19:01

  • +
  • -
  • 0

#6 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.01.2011 19:23

Dobra, faktycznie błąd tam się mały wkradł :)

Idąc Twoim tropem:
#!/bin/bash
DEMDIR="/home/test/dema" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/test/dema1" # folder docelowy z demami spakowanymi
DEST_DIR=$(date +%F)

if [ ! -d ${DESCDIR}/${DEST_DIR} ]; then
   mkdir "${DESCDIR}/${DEST_DIR}"
fi

gzip -5 $DEMDIR/*.dem
mv ${DEMDIR}/*.gz ${DESCDIR}/${DEST_DIR}/
find ${DESCDIR}/${DEST_DIR}/*.gz -mtime +7 -exec rm {} \;

  • +
  • -
  • 1

serwer-1.png
IP: ts3.cserwerek.pl


#7 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 20.01.2011 19:38

śmiga , dziękuje :)))))

a jak w tym nowym kodzie dodac wersje wyslania po xx czasie od osttaniej edycji ??:(

Użytkownik wenus edytował ten post 20.01.2011 20:01

  • +
  • -
  • 0

#8 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.01.2011 20:08

find ${DEMDIR}/*.gz -mtime 7 -exec mv {} ${DESCDIR}/${DEST_DIR}/ \;
Aczkolwiek pewnie się pomyliłem w instrukcji -exec ;]

7 to ilość dni (24*n)

Lub wersja mniej nazwijmy to dalekosiężna:
find ${DEMDIR}/*.gz -cmin 30 -exec mv {} ${DESCDIR}/${DEST_DIR}/ \;
Gdzie 30 to ilość minut :)
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#9 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 20.01.2011 20:19

czekaj czekaj nei rozumiem . chodzi mi o kasowanie po 7 dniach i wysylaniu dema po 30 minutach od nagrania np ;>to jak ma to wygladac
  • +
  • -
  • 0

#10 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.01.2011 20:26

#!/bin/bash

DEMDIR="/home/test/dema" # folder z demami - tam gdzie HTLV nagrywa

DESCDIR="/home/test/dema1" # folder docelowy z demami spakowanymi

DEST_DIR=$(date +%F)



if [ ! -d ${DESCDIR}/${DEST_DIR} ]; then

   mkdir "${DESCDIR}/${DEST_DIR}"

fi



gzip -5 $DEMDIR/*.dem

#mv ${DEMDIR}/*.gz ${DESCDIR}/${DEST_DIR}/



find ${DEMDIR}/*.gz -cmin 30 -exec mv {} ${DESCDIR}/${DEST_DIR}/ \; # przenoszenie po 30min

find ${DESCDIR}/${DEST_DIR}/*.gz -mtime +7 -exec rm {} \;			# kasowanie po 7 dniach


  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#11 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 20.01.2011 21:22

jeszcze raz dzięki ! prosty kod bez zbędnych bajerów <3

Dodano 20 styczeń 2011 - 21:39:
ale odczekiwanie xx minut po ostatniej edycji to chyba nie działa :<

problem jest taki ze z wyslanie do innej lokalizacji skrypt czeka ale z spakowaniem niem :<

Użytkownik wenus edytował ten post 20.01.2011 21:53

  • +
  • -
  • 0

#12 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 20.01.2011 21:54

Sprawdzałem - musi działać ;] W sumie można spróbować zamienić gzip'a (gz) na zip'a - ale to będzie bez sensu, bo tak jak mówię, sprawdzałem skrypt.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#13 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 20.01.2011 22:04

hm jest plik xxxxx.dem utworzony o 22:02 o 22:03 odpalam z palca skrypt i plik jest spakowany xxx.dem.gz w folderze hltv . Na jakim distro to sprawdzałes?

plik jest chroniony przez 30min tylko przed przeniesieniem , potrzebna by była regułka która też go nie spakuje :<

Użytkownik wenus edytował ten post 20.01.2011 22:45

  • +
  • -
  • 0

#14 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 21.01.2011 10:32

Na jakim distro to sprawdzałes?

Debian 5 minimal 32bit.

plik jest chroniony przez 30min tylko przed przeniesieniem , potrzebna by była regułka która też go nie spakuje :<

Pytanie tylko po co? :-) Plik spakuje się dopiero wtedy kiedy gzip będzie miał doń dostęp, czyli kiedy ten przestanie się generować, no ale:

#!/bin/bash
DEMDIR="/home/test/dema" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/test/dema1" # folder docelowy z demami spakowanymi
DEST_DIR=$(date +%F)

if [ ! -d ${DESCDIR}/${DEST_DIR} ]; then
   mkdir "${DESCDIR}/${DEST_DIR}"
fi

find ${DEMDIR}/*.dem -cmin 30 -exec gzip -5 {} \; # pakowanie po 30min od zakończenia nagrywania
find ${DEMDIR}/*.gz -cmin 30 -exec mv {} ${DESCDIR}/${DEST_DIR}/ \; # przenoszenie po 30min
find ${DESCDIR}/${DEST_DIR}/*.gz -mtime +7 -exec rm {} \;			# kasowanie po 7 dniach

Pomijam fakt że to ciut mało optymalna wersja, no ale ;]
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#15 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 21.01.2011 11:05

hm tez jade na debianie . i własnie umnie pakuje mimo tego ze plikjest nadal używany :< nie wiem czemu

a do tego krzyczy błędem

./tp_hltv.sh
find: `/home/test/dema1/2011-01-21/*.gz': No such file or directory

Użytkownik wenus edytował ten post 21.01.2011 11:11

  • +
  • -
  • 0

#16 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 21.01.2011 11:49

a do tego krzyczy błędem

./tp_hltv.sh
find: `/home/test/dema1/2011-01-21/*.gz': No such file or directory

Pliki nie istnieją, więc w sumie się nie dziwię ;)

#!/bin/bash
DEMDIR="/home/test/dema" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/test/dema1" # folder docelowy z demami spakowanymi
DEST_DIR=$(date +%F)

if [ ! -d ${DESCDIR}/${DEST_DIR} ]; then
   mkdir "${DESCDIR}/${DEST_DIR}"
fi

find ${DEMDIR}/*.dem -cmin 30 -exec gzip -5 {} \; # pakowanie po 30min od zakończenia nagrywania
find ${DEMDIR}/*.gz -cmin 30 -exec mv {} ${DESCDIR}/${DEST_DIR}/ \; # przenoszenie po 30min
find ${DESCDIR}/${DEST_DIR}/*.gz -mtime +7 -exec rm {} \; 2> /dev/null			# kasowanie po 7 dniach
Komunikaty o błędach z kasowaniem plików starszych niż 7 dni polecą do katalogu /dev/null (kosz), więc skrypt w razie problemów krzyczał nie będzie - a przez pierwszy tydzień będzie krzyczał co chwila :)

hm tez jade na debianie . i własnie umnie pakuje mimo tego ze plikjest nadal używany :< nie wiem czemu

Sprawdziłeś wersję powyżej? Ta na 100% nie tyka się plików generowanych wcześniej niż 30min temu.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#17 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 21.01.2011 12:04

Wyświetl postUżytkownik wenus dnia 21 styczeń 2011 - 11:05 napisał
a do tego krzyczy błędem

./tp_hltv.sh
find: `/home/test/dema1/2011-01-21/*.gz': No such file or directory



Pliki nie istnieją, więc w sumie się nie dziwię ;)

#!/bin/bash
DEMDIR="/home/test/dema" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/test/dema1" # folder docelowy z demami spakowanymi
DEST_DIR=$(date +%F)

if [ ! -d ${DESCDIR}/${DEST_DIR} ]; then
mkdir "${DESCDIR}/${DEST_DIR}"
fi

find ${DEMDIR}/*.dem -cmin 30 -exec gzip -5 {} \; # pakowanie po 30min od zakończenia nagrywania
find ${DEMDIR}/*.gz -cmin 30 -exec mv {} ${DESCDIR}/${DEST_DIR}/ \; # przenoszenie po 30min
find ${DESCDIR}/${DEST_DIR}/*.gz -mtime +7 -exec rm {} \; 2> /dev/null # kasowanie po 7 dniach


Komunikaty o błędach z kasowaniem plików starszych niż 7 dni polecą do katalogu /dev/null (kosz), więc skrypt w razie problemów krzyczał nie będzie - a przez pierwszy tydzień będzie krzyczał co chwila :)


ale w ogóle skrypt nie pakuje ani nie przenosi plikow ( pliki są z wczoraj ) coś chyba nie gra z tymi warunkami przenies jesli spakuj jesli

Dodano 22 styczeń 2011 - 00:59:
:< need help Portek przybywaj ;P

Użytkownik wenus edytował ten post 21.01.2011 12:26

  • +
  • -
  • 0

#18 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 22.01.2011 12:26

:< need help Portek przybywaj ;P

Że tak powiem jestem lekko niedysponowany - choroba, więc jest jak jest.

#!/bin/bash
DEMDIR="/home/test/dema" # folder z demami - tam gdzie HTLV nagrywa
DESCDIR="/home/test/dema1" # folder docelowy z demami spakowanymi
DEST_DIR=$(date +%F)

if [ ! -d ${DESCDIR}/${DEST_DIR} ]; then
	mkdir "${DESCDIR}/${DEST_DIR}"
fi

find ${DEMDIR}/*.dem -cmin +30 -exec gzip -5 {} \; # pakowanie po 30min od zakończenia nagrywania
find ${DEMDIR}/*.gz -cmin +30 -exec mv {} ${DESCDIR}/${DEST_DIR}/ \; # przenoszenie po 30min
find ${DESCDIR}/${DEST_DIR}/*.gz -mtime +7 -exec rm {} \; 2> /dev/null # kasowanie po 7 dniach
Powiem tak, człowiek stary, a głupi, rzeczywiście nie miało prawa się pakować i przenosić - a bynajmniej nie wszystko, bo zjadłem znaki "+" :-)
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#19 wenus

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:47
Offline

Napisano 22.01.2011 13:16

hm teraz tak patrze na działanie skryptu . I zastanawia mnie czy pakowanie on tez traktuje jako ostatnia edycja ? bo wysłał plik dopiero jak zmniejszyłem oczekiwanie z 30 min na 1 min w linijce wysylania do innego folderu . Analizując dalej ażeby "odchudzić " go delikatnie można wywalić wpis dotyczacy czekania w linijce wysylania bo skrypt i tak nie wyśle pliku jesli nie bedzie mial archiwa gz . a archiwum gz nie utworzy sie szybciej niz 30 min od ostatniej edycji pliku :)) ale to juz zrobie sobie sam nie będe Cie męczył :)) . W każdym razie DZIĘKUJE za czas i cierpliwość jakby ktoś potrzebował jeszcze jakiegos skryptu wyświetlającego to fajnie można to zrobić webowa przeglądarką plików w pehapie ;P
  • +
  • -
  • 0

#20 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 22.01.2011 13:30

hm teraz tak patrze na działanie skryptu . I zastanawia mnie czy pakowanie on tez traktuje jako ostatnia edycja ? bo wysłał plik dopiero jak zmniejszyłem oczekiwanie z 30 min na 1 min w linijce wysylania do innego folderu . Analizując dalej ażeby "odchudzić " go delikatnie można wywalić wpis dotyczacy czekania w linijce wysylania bo skrypt i tak nie wyśle pliku jesli nie bedzie mial archiwa gz . a archiwum gz nie utworzy sie szybciej niz 30 min od ostatniej edycji pliku :)

A nie takie miało być założenie? Pakowanie po 30min od nagrania, przesyłanie pod 30min od spakowania, czyli zanim demo zostanie przeniesione mija defacto godzina od nagrania (+ rozbieżność crontaba, bo nie wywołujesz skryptu co minute? :) )
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl






Również z jednym lub większą ilością słów kluczowych: Inny

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych