Rozwiązany Plik !bash - komenda nie kasuje plików zrzutów jpg z kamer IP

Dyskusja w 'Oh'Linux? Software hacking' rozpoczęta przez użytkownika Wrobelts212P, 27 Lipiec 2018.

Ładowanie...
Tagi:
  1. Wrobelts212P
    Offline

    Wrobelts212P Nowy użytkownik Noobie

    Dołączył:
    10 Listopad 2015
    Wiadomości:
    6
    Local Time:
    16:44
    Oceny:
    +2 / 0 / -0
    Followers:
    0
    QNAP:
    TS-212
    Ethernet:
    100 Mbps
    TS-212 100 Mbps
    Witam,
    napisałem plik wsadowy który kasuje stare pliki i katalogi, a przynajmniej miało być takie założenie.
    Widzę, że listuje mi dobrze ale już nie kasuje mam NAS TS-212P, czy jest mi ktoś w stanie powiedzieć co jest źle w tym skrypcie?
    Jak widać już nawet wpisywałem zmianę uprawnień.
    Skrypt poniżej
    Kod (Bash):
    1. #!/bin/sh
    2. echo
    3. echo "Rozpoczecie kasowania"
    4. date
    5. echo "pojemnosc folderu przed kasowaniem"
    6. du -s -h /share/FTPN/
    7. sleep 20
    8. Pojemn_Start=$(du -s -h /share/FTPN/)
    9. sleep 20
    10. sudo chmod -R 4776 /share/FTPN/IP/
    11. sleep 30
    12. sudo chmod -R 4776 /share/FTPN/Analog/
    13. sleep 30
    14. echo "wyszukanie plikow do skasowania z kamer IP"
    15. find /share/FTPN/IP/192.168.1.2/ -type d -mtime +50
    16. sleep 10
    17. echo "Wyszukanie plikow do skasowania z kamer analogowych"
    18.  
    19. find /share/FTPN/Analog/192.168.1.253/ -type d -mtime +50
    20. sleep 10
    21. echo "zakonczenie listingu katalogow do wykasowania"
    22.  
    23. sudo find /share/FTPN/IP/192.168.1.2/ -type d -mtime +50 -exec rm -rf {} \;
    24. sleep 10
    25. sudo find /share/FTPN/Analog/192.168.1.253/ -type d -mtime +50 -exec rm -rf {} \;
    26. sleep 10
    27. sudo chmod -R 4666 /share/FTPN/IP/
    28. speep 30
    29. sudo chmod -R 4666 /share/FTPN/Analog/
    30. sleep 30
    31. echo "Rozmiar katalogu po kasowaniu"
    32. du -s -h /share/FTPN/
    33. sleep 20
    34. Pojemn_Stop=$(du -s -h /share/FTPN/)
    35. sleep 20
    36. date
    37. echo "Zakonczenie kasowania"
    Mam nadzieję, że wybrałem dobrze grupę tematów. Jeżeli nie to proszę poprawcie mnie.
     
  2. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 443
    Miejscowość:
    Nowy Sącz
    Local Time:
    16:44
    Oceny:
    +1 450 / 30 / -6
    Followers:
    24
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Zacznijmy od tego ze prawdopodobnie nie musisz uzywac sudo bo i tak bedziesz uruchamial skrypt z admina.
    Po drugie Twój find może nie obsługiwać argumentu exec. Możesz to sprawdzić:
    Kod (Bash):
    1. find --help
    .
    Jesli z możliwych argumentów jest -exec to przejdz do kolejnego punktu. Jesli nie to zainstaluj Entware a w nim następnie
    Kod (Bash):
    1. opkg install findutils
    Po za tym argumentem -type definiujesz aby listować katalogi zamiast plików.
    Sam sprawdź:
    Kod (Text):
    1. find /share/FTPN/IP/192.168.1.2/ -type d -mtime +50 -exec echo {} \;
    A teraz wylistuj pliki:
    Kod (Text):
    1. find /share/FTPN/IP/192.168.1.2/ -type f -mtime +50 -exec echo {} \;
    Na moje oko ten skrypt powinien wyglądać tak:
    Kod (Bash):
    1. #!/bin/sh
    2.  
    3. DELETEDIR="/share/FTPN/"
    4. DAY_AGO="50"
    5.  
    6. NOW=`date +%Y-%m-%d\ %H:%M:%S`
    7. # Funkcja alternatywna zamiast sleep
    8. _safe_abort_sleep(){
    9.         local y=20;
    10.         while [ "$y" -gt 0 ]; do
    11.                 y=$(expr $y - 1)
    12.                 echo "Odliczanie do rozpoczecia!... $y -- nacisnij CTRL+C aby przerwac"
    13.                 sleep 1
    14.         done
    15. }
    16.  
    17. _err(){
    18.     echo -e "$*"
    19.     echo
    20.  
    21.     exit 1
    22. }
    23.  
    24. [ -d "$DELETEDIR" ] || _err "Katalog $DELETEDIR nie istnieje lub brak do niego dostępu"
    25.  
    26. echo -e "\n$NOW -- Rozpoczeto usuwanie startych plików z katalogu: $DELETEDIR \nProszę czekać..."
    27. echo -n "Calkowita objetosc katalogu $(basename $DELETEDIR) przed usunieciem ... "
    28. DIRSIZE=`du -sh $DELETEDIR`
    29. echo $DIRSIZE
    30.  
    31. _safe_abort_sleep
    32. echo -e "\nWyszukanie plikow do skasowania rekursywnie w katalogach wew. folderu $DELETEDIR ..."
    33. find $DELETEDIR -type f -mtime +${DAY_AGO}
    34.  
    35. echo -e "\nPrzygotowanie do kasowania plików z $DELETEDIR ..."
    36. _safe_abort_sleep
    37. find $DELETEDIR -type f -mtime +${DAY_AGO} -exec rm -rf {} \;
    38.  
    39. echo -n "Calkowita objetosc katalogu $(basename $DELETEDIR) po usunieciu ... "
    40. DIRSIZE=`du -sh $DELETEDIR`
    41. echo $DIRSIZE
    42.  
    43. echo -e "\nProces usuwania starych plikow zakonczony."
    Piwo stawiasz :)
     
  3. Wrobelts212P
    Offline

    Wrobelts212P Nowy użytkownik Noobie

    Dołączył:
    10 Listopad 2015
    Wiadomości:
    6
    Local Time:
    16:44
    Oceny:
    +2 / 0 / -0
    Followers:
    0
    QNAP:
    TS-212
    Ethernet:
    100 Mbps
    TS-212 100 Mbps
    Dziękuję za info i z pewnością będzie duże piwo :):). Muszę to przez weekend przemielić.
    Ale w związku z tym mam jeszcze jedno pytanie jak doinstalować pakiety, bo te komendy z linuxa nie bardzo działają, chyba że coś źle robię?
     
  4. pigers
    Online

    pigers GOD's left hand - careful - he don't care anymore. Administrator

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    6 935
    Miejscowość:
    Nysa
    Local Time:
    16:44
    Oceny:
    +1 104 / 30 / -13
    Followers:
    3
    QNAP:
    TS-x53
    Synology:
    huh ? I do not collect crap
    Ethernet:
    1 GbE
  5. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 443
    Miejscowość:
    Nowy Sącz
    Local Time:
    16:44
    Oceny:
    +1 450 / 30 / -6
    Followers:
    24
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Sprawdz moj skrypt. Powinien działać :)
     
  6. pigers
    Online

    pigers GOD's left hand - careful - he don't care anymore. Administrator

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    6 935
    Miejscowość:
    Nysa
    Local Time:
    16:44
    Oceny:
    +1 104 / 30 / -13
    Followers:
    3
    QNAP:
    TS-x53
    Synology:
    huh ? I do not collect crap
    Ethernet:
    1 GbE
  7. Silas Mariusz
    Online

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 443
    Miejscowość:
    Nowy Sącz
    Local Time:
    16:44
    Oceny:
    +1 450 / 30 / -6
    Followers:
    24
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Będzie działać na busyboxie :)
     
  8. Wrobelts212P
    Offline

    Wrobelts212P Nowy użytkownik Noobie

    Dołączył:
    10 Listopad 2015
    Wiadomości:
    6
    Local Time:
    16:44
    Oceny:
    +2 / 0 / -0
    Followers:
    0
    QNAP:
    TS-212
    Ethernet:
    100 Mbps
    TS-212 100 Mbps
    Witam, przepraszam, że dopiero teraz będę się tym zajmował, ale nie bardzo miałem jak wcześniej.
    zaraz go wbije i sprawdzę ten skrypt i powiem co i jak
    --- Połączono posty, 9 Sierpień 2018, Data oryginalnego postu: 9 Sierpień 2018 ---
    Mega duże piwo. skrypt działa. Zaimplementowałem ten pierwszy gdyż na ten drugi jestem za cienki, a ten kumam.
    Super kasuje. W ramach testu wykasowałem za dużo, ale to nic przynajmniej wiem jak to działa. dzięki bardzo.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Odrzuć powiadomienie.