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:
    14:00
    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 693
    Miejscowość:
    Nowy Sącz
    Local Time:
    14:00
    Oceny:
    +1 485 / 30 / -6
    Followers:
    25
    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:
    14:00
    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
    Offline

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

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    7 269
    Miejscowość:
    Nysa
    Local Time:
    14:00
    Oceny:
    +1 146 / 31 / -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 693
    Miejscowość:
    Nowy Sącz
    Local Time:
    14:00
    Oceny:
    +1 485 / 30 / -6
    Followers:
    25
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    Sprawdz moj skrypt. Powinien działać :)
     
  6. pigers
    Offline

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

    Dołączył:
    26 Lipiec 2013
    Wiadomości:
    7 269
    Miejscowość:
    Nysa
    Local Time:
    14:00
    Oceny:
    +1 146 / 31 / -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 693
    Miejscowość:
    Nowy Sącz
    Local Time:
    14:00
    Oceny:
    +1 485 / 30 / -6
    Followers:
    25
    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:
    14:00
    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.