scriptek

Programozás, programnyelvek, kiegészítők, alkalmazások, programnyelvek, programfejlesztéssel kapcsolatos témák, közvetlenül a programozással összefüggő kérdések
Avatar
KuLuSz
Hozzászólások: 535
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

jelentem a kns müködik nyitott wifivel is:
Kép
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

nocsak
Hozzászólások: 263
Csatlakozott: 2014.09.29. 15:01

Re: scriptek

Hozzászólás Szerző: nocsak »

Kód: Egész kijelölése

#!/bin/bash 
#This script made by nocsak 2020.09.29.
#dependencies: sshfs, gtkdialog
 
 export OUTPUT_CHARSET=UTF-8

# echo -e "Ha nem megfelelő paramétereket állítunk\n be, az SMS szkript hibásan működhet!" | xmessage -title "Emlékeztető" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse -timeout 4 -file -
 
 export MAIN_DIALOG="
 <window title=\"$(gettext 'sshfs Mount Script for Puppy')\" icon-name=\"folder-remote\" resizable=\"true\">
    <vbox scrollable=\"true\" height=\"340\" width=\"400\">
    <frame Remote sshfs path>
     <entry>
      <default>192.168.1.101:/mnt</default>
      <variable>PATHPROG01</variable>
     </entry>
     </frame>
     <frame username>
     <entry>
      <default>username</default>
      <variable>PATHPROG02</variable>
     </entry>
     </frame>
     <frame target mount point:>
     <entry>
      <default>/mnt/sshfs01</default>
      <variable>PATHPROG03</variable>
     </entry>
     </frame>
     <frame Port:>
     <entry>
      <default>22</default>
      <variable>PATHPROG07</variable>
     </entry>
     </frame>
     <frame sshfs password>
     <entry visibility=\"false\" caps-lock-warning=\"true\">
     <variable>PATHPROG04</variable>
     </entry>
     </frame>
     <hbox homogeneous=\"true\">
      <button ok></button>
      <togglebutton><input file stock=\"gtk-quit\"></input><label>$(gettext 'Quit')</label><input>exit 1</input><action>exit:abort</action><default>true</default><variable>pagg</variable></togglebutton>
     </hbox>
    </vbox>
    </window>
   "
 RETSTRING="`gtkdialog --program=MAIN_DIALOG --center`"
 eval "$RETSTRING"

if [ "$pagg" = true ]; then

echo "nothing"

else

exit 1

fi

if [ ! "$PATHPROG03" ] || [ ! "$PATHPROG02" ] || [ ! "$PATHPROG01" ] || [ ! "$PATHPROG07" ] || [ ! "$PATHPROG04" ]; then
	
	xmessage -title "Something wrong" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "No value given!" -timeout 5
  
 
  else
  if [ ! -d "$PATHPROG03" ]; then
	
	mkdir $PATHPROG03

  else
  
  echo "Directory $PATHPROG03 exists."
  
fi
  printf "$PATHPROG04\n" | sshfs -o password_stdin -o ssh_command='ssh -o StrictHostKeyChecking=no' -o allow_other $PATHPROG02@$PATHPROG01 $PATHPROG03 -p $PATHPROG07 &
  
fi


if [ ! "$PATHPROG03" ] || [ ! "$PATHPROG02" ] || [ ! "$PATHPROG01" ] || [ ! "$PATHPROG07" ] || [ ! "$PATHPROG04" ]; then

xmessage -title "Nothing to umount" -buttons Ok:0,"Hmm":1,Cancel:2 -default Ok -nearmouse "Nothing to umount!" -timeout 5

else 

ICONSETSGUI8=""
ICONSETSGUI8="$ICONSETSGUI8

<vbox>
<hbox>
<button>
<label>Open ${PATHPROG03}</label>
<action>rox ${PATHPROG03}</action>
</button>
<button>
<label>Eject ${PATHPROG03}</label>
<action>fusermount -u ${PATHPROG03}</action>
</button>
</hbox>
</vbox>

"


export MAIN_DIALOG="
<window title=\"$(gettext 'Eject sshfs Script')\" icon-name=\"gtk-disconnect\" resizable=\"true\">
 <vbox>
 <frame Functions:>
  <text wrap=\"true\" width-chars=\"40\"><label>$(gettext 'sshfs drive eject')</label></text>
  </frame>
  
     <frame  Mounted places:>
 
     
  ${ICONSETSGUI8}
  
    <text>
      <label>-1-</label>
     </text>
    </frame>

  <hbox>
  
<button><input file stock=\"gtk-quit\"></input><label>$(gettext 'QUIT')</label></button>
  
   
  </hbox>
 </vbox>

</window>"

gtkdialog --program=MAIN_DIALOG --center

fi




sshfs_mounter.jpg
sshfs_mounter.jpg (25.38 KiB) Megtekintve 274 alkalommal
sshfs_mounter02.jpg
sshfs_mounter02.jpg (13.65 KiB) Megtekintve 271 alkalommal

Avatar
KuLuSz
Hozzászólások: 535
Csatlakozott: 2014.06.17. 21:19

Re: scriptek

Hozzászólás Szerző: KuLuSz »

YT: Bash shell szkriptelés - Tömbök

A videóban alkalmazott szkript:

Kód: Egész kijelölése

#!/bin/bash
clear && echo && echo -n ' '

#Tömbök a bashban

#	0	  1	    2	      3	<<< helyi értékek
TOMB=('első' 'második' 'harmadik' 'negyedik')

echo ${TOMB[*]} 	# összes elem kiíratása: * vagy @ jellel

#echo ${#TOMB[*]} 	# elemek száma

#echo ${!TOMB[*]} 	# helyiértékek kiíratása

#echo ${TOMB[1]} 	# 1 adott elem kiíratása

#TOMB+=( 'ötödik' )	# új elem hozzáadása
#echo ${TOMB[*]}

#unset TOMB[1]		# elem eltávolitása
#echo ${!TOMB[*]}

#TOMB[1]='kettyó'	# elem megváltoztatása
#echo ${TOMB[*]}

#echo ${!TOMB[*]:2}	# elemek kiíratása X elemtől
Információ forrása: LINK
-<(].K.u.L.u.S.z.[)>-
-----------------------------------------------
Elérhetőségeim: Angol irc csevegő, (reg mentes) Discord, YouTube

nocsak
Hozzászólások: 263
Csatlakozott: 2014.09.29. 15:01

Re: scriptek

Hozzászólás Szerző: nocsak »

Kicsit elővettem ezt a ZRAM szkriptet megint, kikommenteltem a prioritást adó sort és a swapinness sorokat.
Így alapértelmezés szerint fogja kezelni a ZRAM swappelést a rendszer.

Meg az erről szóló videómban elfelejtettem elmagyarázni, hova kell másolni, miként nevezve és hogyan kell indítani.

Szóval ezt:

Kód: Egész kijelölése

#!/bin/bash

### BEGIN INIT INFO

# Provides: zram

# Required-Start: $local_fs

# Required-Stop:

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Increased Performance In Linux With zRam (Virtual Swap Compressed in RAM)

# Description: Adapted from systemd scripts

# Included as part of antix-goodies package

# This script was written by tradetaxfree and is found at http://crunchbanglinux.org/forums/topic/15344/zram-a-good-idea/

# Copy this script (as root) from /usr/local/bin to /etc/init.d and then #update-rc.d zram defaults

# After booting verify the module is loaded with: lsmod | grep zram

### END INIT INFO

 

start() {

    # get the number of CPUs

    # num_cpus=$(grep -c processor /proc/cpuinfo)

    # if something goes wrong, assume we have 1

    # [ "$num_cpus" != 0 ] || num_cpus=1

 

    # set decremented number of CPUs

    # last_cpu=$((num_cpus - 1))

   

    #default Factor % = 90 change this value here or create /etc/default/zram

    FACTOR=40

    #& put the above single line in /etc/default/zram with the value you want

        [ -f /etc/default/zram ] && source /etc/default/zram || true

        factor=$FACTOR # percentage

 

    # get the amount of memory in the machine

#    memtotal=$(grep MemTotal /proc/meminfo | awk ' { print $2 } ')

     memtotal=$(grep MemTotal /proc/meminfo | sed 's/[^0-9]\+//g')

   mem_by_cpu=$(($memtotal*$factor/100*1024))

 

    # load dependency modules

    # kernels 3.4 onwards

   

    modprobe zram
    sleep 2
    # modprobe zram num_devices=$num_cpus
    sleep 2
   

    if [ $? -gt 0 ]; then

          # kernels 3.1 - 3.3

      #modprobe zram zram_num_devices=$num_cpus       

    #else

      echo -e "Your Kernel needs to be compiled with ZRAM support:" \

      "\n\nDevice Drivers --> Staging Drivers --> Compressed RAM block device support (M)" \

      "\nDevice Drivers --> Staging Drivers --> Dynamic compression of swap pages and clean pagecache pages (*)" \

      "\n\nThe Liquorix Kernel (http://liquorix.net) has ZRAM support built in."

      exit 1

    fi

    echo "zram devices probed successfully"

   

    # initialize the devices

    # for i in $(seq 0 $last_cpu); do

    # echo $mem_by_cpu > /sys/block/zram$i/disksize
    echo $mem_by_cpu > /sys/block/zram0/disksize
    # Creating swap filesystems
    sleep 2
    mkswap /dev/zram0

    # Switch the swaps on
    sleep 2
    # swapon -p 100 /dev/zram0
    swapon /dev/zram0

    sleep 2
    # sysctl vm.swappiness=90
    # done

}

 

stop() {

    # get the number of CPUs

    # num_cpus=$(grep -c processor /proc/cpuinfo)

 

    # set decremented number of CPUs

    # last_cpu=$((num_cpus - 1))

 

    # Switching off swap

    # for i in $(seq 0 $last_cpu); do

    # if [ "$(grep /dev/zram$i /proc/swaps)" != "" ]; then

    swapoff /dev/zram0

    sleep 1
    # sysctl vm.swappiness=60
    sleep 1
    # fi

    # done

 

    sleep 1

    rmmod zram

}

 

case "$1" in

    start)

        start

        ;;

    stop)

        stop

        ;;

    restart)

        stop

        sleep 3

        start

        ;;

    *)

        echo "Usage: $0 {start|stop|restart}"

        RETVAL=1

esac

exit $RETVAL


Másoljuk például puppy linux alatt, az /etc/init.d/ mappába rc.zram névvel futtatható jogosultsággal.

Indítani a képen látható módon tudjuk hisz ezek definiálva vannak benne: start|stop|restart
Ha mentésfájllal dolgozunk minden rendszer indulásnál alapértelmezetten lefut a szkript.

A különbség annyi a videóban bemutatottól, hogy egy zram meghajtó a /dev/zram0 kerül beállításra kizárólag, mivel nem láttam én értelmét az eredeti több processzoros elképzelésnek, így a FACTOR változó már a valós % értéket fogja levenni zramnak a fizikai memóriából....

Állítólag a swappiness 0-100 értékig 100 a leginkább swappelős kernel beállítás , és a swapon -p kapcsoló a prioritást -1 -től 32767 -ig "priorizálja" alapértelmezés előbbinél a 60 utóbbinál a -1 most ez ugye ki lett kommentelve, tehát alapértelmezés szerint lesz véve a zramnál.

Tehát miután rc.zram -ként bemásoltuk az /etc/init.d/ könyvtárba futtatható joggal, akkor vagy újraindítjuk mentésfájllal a gépet és úgy alkalmazzuk, vagy terminálból először kiadjuk a /etc/init.d/rc.zram start parancsot.


Remélem tudtam segíteni!



rc_zram01.jpg
rc_zram01.jpg (199.71 KiB) Megtekintve 178 alkalommal

Válasz küldése

Vissza: “Programozás, alkalmazásfejlesztés”