Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Apr 3rd, 2020 155 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. function usage #wyswietlanie helpa
  4. {
  5.     echo
  6.     echo "Składnia: $0 [OPCJA] [PLIK] ..."
  7.     echo "Kompresowanie PLIKÓW (jeśli nie są skompresowane) i przeniesienie PLIKÓW do folderu $HOME/Kosz. Usuwanie z folderu $HOME/Kosz plików starszych niż 24h."
  8.     echo
  9.     echo "OPCJE"
  10.     echo "-h    wyświetla pomoc i kończy działanie"
  11. }
  12.  
  13. function removeOriginal #usuwa oryginalny plik
  14. {
  15.     compressed=$1 #$1 - skompresowany plik
  16.     original=$2 #$2 - oryginalny plik
  17.     if [ $compressed != $original ] #jesli plik skompresowany i oryginalny sa rozne
  18.     then
  19.         rm -r $original #usuniecie pliku oryginalnego
  20.     fi
  21. }
  22.  
  23. function removeCompressed #usuwa plik skompresowany
  24. {
  25.     compressed=$1 #$1 - skompresowany plik
  26.     original=$2 #$2 - oryginalny plik
  27.     if [ $compressed != $original ] #jesli plik skompresowany i oryginalny sa rozne
  28.     then
  29.         rm -r $compressed #usuniecie pliku skompresowanego
  30.     fi
  31. }
  32. function moveFile #usuwanie jednego pliku
  33. {
  34.     compressed=$1 #$1 - skompresowany plik
  35.     original=$2 #$2 - oryginalny plik
  36.     if [ -e $HOME/Kosz/$(basename $compressed) ] #jesli istnieje w koszu plik o danej nazwie
  37.     then #wewnetrzne menu
  38.         echo "Uwaga! Próbujesz usunąć plik $original. Plik o nazwie $(basename $original) znajduje się już w folderze $HOME/Kosz i zostanie nadpisany."
  39.         echo "Czy chcesz kontynuować?"
  40.         echo "t - tak"
  41.         echo "n - nie"
  42.  
  43.         read choice
  44.         case $choice in
  45.             "t") touch $compressed #zmiana czasu modyfikacji (do szukania plikow starszych niz 24h)
  46.                  mv -f $compressed $HOME/Kosz #nadpisanie istniejacego pliku
  47.                  removeOriginal $compressed $original;; #usuniecie oryginalu
  48.             "n") removeCompressed $compressed $original #usuniecie pliku skompresowanego
  49.                  echo "Nie usunieto pliku: $original.";;
  50.               *) echo "Opcja $choice nie istnieje. Wybrano domyślnie: n."
  51.                  removeCompressed $compressed $original #usuniecie pliku skompresowanego
  52.                  echo "Nie usunieto pliku: $original.";;
  53.         esac
  54.     else
  55.         touch $compressed #zmiana czasu modyfikacji (do szukania plikow starszych niz 24h)
  56.         mv $compressed $HOME/Kosz #przeniesienie pliku do kosza
  57.         removeOriginal $compressed $original #usuniecie oryginalu
  58.     fi
  59.  
  60. }
  61.  
  62. function removeFiles #usuwanie plikow
  63. {
  64.     if [ ! -e $HOME/Kosz ] #sprawdzenie, czy katalog Kosz istnieje
  65.     then
  66.         mkdir $HOME/Kosz #tworzenie katalogu Kosz, jesli nie istnieje
  67.     fi
  68.  
  69.     for i in $@ #iteracja po argumentach (plikach)
  70.     do
  71.         if [ -e $i ] #sprawdzenie, czy plik istnieje
  72.         then
  73.             if (! file $i | grep -q compressed) #sprawdzanie, czy plik jest juz skompresowany
  74.             then
  75.                 file_name=$(basename $i) #nazwa pliku (bez sciezki)
  76.                 parent_name=$(dirname $i) #nazwa folderu nadrzednego dla pliku
  77.                 tar -zcf $file_name.tar.gz -C $parent_name $file_name #kompresja, ktora zmienia tez czas modyfikacji
  78.                 # -C, by nie tworzyc zagniezdzonej struktury w przypadku usuwania pliku z jakiegos folderu
  79.                 moveFile $file_name.tar.gz $i #przeniesienie skompresowanego pliku do kosza i usuwanie oryginalu
  80.             else
  81.                 moveFile $i $i #przeniesienie skompresowanego pliku do kosza
  82.             fi
  83.         else #jesli plik nie istnieje
  84.             echo "Uwaga! Plik: $i nie istnieje!"
  85.         fi
  86.     done
  87. }
  88.  
  89. function remove24h #czyszczenie kosza
  90. {
  91.     #znalezenie plikow starszych niz 24h (1440 min.) w koszu (mmin, a nie mtime ze wzgledu na blad zaokraglen)
  92.     to_remove=$(find $HOME/Kosz/ -mindepth 1 -mmin +1440)
  93.     if [ ${#to_remove} -ne 0 ] #sprawdzenie, czy istnieja pliki do usuniecia
  94.     then
  95.         rm -r $to_remove #usuniecie plikow starszych niz 24h
  96.     fi
  97. }
  98.  
  99. while getopts ":h" option #sprawdzanie, czy uzytkownik wywolal pomoc
  100. do
  101.     case $option in
  102.     h) usage #wyswietlenie pomocy
  103.        exit;; #wyjscie z programu
  104.     \?) echo "Nieprawidlowa opcja."
  105.         echo "Sprobuj '$0 -h', by uzyskac wiecej informacji."
  106.         exit;; #wyjscie z programu
  107.     esac
  108. done
  109.  
  110. #gdy nie wywolano pomocy:
  111. removeFiles $@ #usuwanie podanych plikow
  112. remove24h #usuwanie plikow starszych niz 24h z kosza
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top