Strona 13 z 16

Odp: Przydatne skrypty

: 07 gru 2010, 17:29
autor: empitt
RG2 (Restore GRUB2) - skrypt, który ułatwia ponowną instalację programu rozruchowego GRUB2 w Ubuntu z Live CD.

Odp: Przydatne skrypty

: 27 gru 2010, 15:28
autor: lenonek
Ja dołączę coś mniej skomplikowanego :tes:

1. Wyłącza system po zakończeniu określonego procesu (w moim przypadku VirtualBox)

Kod: Zaznacz cały

#!/bin/bash
sleep 120
while true; do
if [ `pidof -s VirtualBox` =="" ]; then
shutdown -h +00
fi
sleep 5
done
2. Jak ktoś używa Rainlendar, to czasami na starcie systemu pojawia się monit o pliku tymczasowym, który jest zablokowany i czy uruchomić kolejną instancję programu. Trochę mnie to denerwowało więc napisałem:

Kod: Zaznacz cały

#!/bin/bash
sleep 360
if [ -e /tmp/Rainlendar2-username ]; then
rm /tmp/Rainlendar2-username
fi
done
Jedynie co należy zrobić to zamiast username dopisać nazwę swojego konta. Choć wydaje mi się, że wstawienie gwiazdki w miejsce username powinno załatwić sprawę. Wyprowadźcie mnie z błędu jeśli jest inaczej :)

3. Mam laptopa Asusa F5 i problem z touchpadem. Mianowicie mogłem go wyłączyć dedykowanym przyciskiem, ale po uruchomieniu OpenOffice po kilkudziesięciu sekundach ponownie się uruchamiał. Denerwujące to jest podczas pisania. Dlatego używam dwóch prostych skryptów do których przypisałem skróty klawiszowe (ułatwiają włączanie i wyłączanie gdy nie ma myszki usb).

Włączanie touchpada:

Kod: Zaznacz cały

#!/bin/bash
gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true
Wyłączanie touchpada:

Kod: Zaznacz cały

#!/bin/bash
gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled false
mam nadzieję, że się Wam przyda :D

Odp: Przydatne skrypty

: 27 gru 2010, 15:42
autor: borzole
@lenonek
zamiast ustawiać true/false w kluczu, możesz go przełączyć o tak:

Kod: Zaznacz cały

gconftool-2 --toggle /desktop/gnome/peripherals/touchpad/touchpad_enabled

Odp: Przydatne skrypty

: 28 gru 2010, 08:45
autor: lenonek
@borzole
dzięki :) teraz mam tylko jeden skrót zamiast dwóch :P

Odp: Przydatne skrypty

: 13 sty 2011, 21:20
autor: rzutki
Witam wszystkich. Jestem cienki w programowaniu więc zwracam się z prośbą do bystrzejszych kolegów/koleżanek. Mam ciągłe kłopoty z łączem internetowym, działa jak sinusoida. Raz szczytuje raz go nie ma. Pomyślałem o udokumentowaniu takiego stanu rzeczy żebym miał dowód podczas rozmów z dostawcą.
I tu moja prośba. Wymyśliłem sobie skrypt, który pingowałby co jakiś czas kilka serwerów i zapisywał wyniki do pliku.
Czy mógłby mi ktoś napisać coś takiego?

Odp: Przydatne skrypty

: 14 sty 2011, 01:06
autor: outslider
W zasadzie to nie do pomagania miejsce, ale niech będzie;)

Tak w zarysie i na szybko, może sam rozwiniesz to w coś ambitniejszego:)

Kod: Zaznacz cały


#!/bin/bash

while (true); do                                          #rozpoczyna pętlę
  date=`date +"%D %H:%M:%S"`                              #pobiera aktualną datę
  echo "======= $date ====="|tee -a ~/pingole            #wrzuca datę do pliku
  ping -W 15 -c 1 www.google.pl|tee -a ~/pingole          #wrzuca tam ping google
  sleep 30                                                  #30 sekund na oddech
done                              #zamyka pętlę
pozmieniaj sobie szczegóły.

Pingi z datami i godzinami znajdziesz w pliku ~/pingole

Odp: Przydatne skrypty

: 14 sty 2011, 11:22
autor: piokowa
Skrypt, który pobiera wartości indeksów giełdowych GPW w Warszawie.
Do obsługi skryptu konieczne jest zainstalowanie w3m.

Kod: Zaznacz cały

#!/bin/bash
# Created by Piotr Kowalczyk piotkowa@gmail.com
# Skrypt pobiera wartości indeksów giełdowych
# Konieczne jest zainstalowanie **w3m** do poprawnej obsługi skryptu
# Składnia: prefix_indeksu(np. TPE = TauronPE) + pierwsza litera prefixu (T - TauronPE)
usage="Usage $0 index_prefix litera [np. ./wig TPE T]"

if [ -z $1 ]; then
  echo $usage
  exit
fi

dane="$(w3m -no-cookie http://m.money.pl/notowania/akcje/?letter=$2)"
echo "Nazwa          Kurs      [%]"
echo "$dane" | grep $1

Odp: Przydatne skrypty

: 14 sty 2011, 22:03
autor: gaijin
piokowa pisze:Skrypt, który pobiera wartości indeksów giełdowych GPW w Warszawie.
jakbyś tak to przerobił na wyświetlanie w firefoksie powiedzmy w dolnej belce z odświeżaniem co 5min....

Odp: Przydatne skrypty

: 15 sty 2011, 00:45
autor: B.A.D.
Znów zdeamonizowany skrypt, tym razem dla nie lubiących nudy (w zasadzie to trzy skrypty i deamon ostatniego:))
1. Masowe pobieranie zdjęć konkursowych National Geographic (rok 2009) znaleziony na stronie http://www.ubucentrum.net/

Kod: Zaznacz cały

#!/bin/bash


for a in `seq 1 26`
do
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/1109wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/1102wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/1026wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/1019wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/1013wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/1005wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/0928wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/0921wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/0914wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/0907wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/0831wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/0824wallpaper-"$a"_1600.jpg"
		wget -U Mozilla "http://ngm.nationalgeographic.com/photo-contest/2009/img/wallpaper/0817wallpaper-"$a"_1600.jpg"

done
2. Masowa zmiana nazw plików w folderze podanym jako parametr

Kod: Zaznacz cały

#!/bin/bash
m=0;
cd ${1} &&
for nazwa in * ; do
mv "$nazwa" `echo "$m".jpg`
m=$[m + 1]
done
3. No i w końcu skrypt zmieniający nam tapetki na pulpicie w zadanych godzinach

Kod: Zaznacz cały

#!/bin/bash
while (( 1 ))
do
ile=`find /home/bad/Obrazy/tapety/natgeo -type f | wc -l`
ran=$((RANDOM%${ile}))
actual_time=$(date +%H)
case $actual_time in
11|23) gconftool-2 --type=string --set /desktop/gnome/background/picture_filename /home/bad/Obrazy/tapety/natgeo/"$ran".jpg \
       && gconftool-2 --type=string --set /desktop/gnome/background/picture_options stretched
;;
esac
sleep 3540
done
wystarczy dodać go do programów startowych i działa:) w case można dopisać swoje własne godziny i poeksperymentować ze sleepem. W moim przypadku skrypt jest ponawiany po upływie 59 minut co wystarczy w zupełności do zmiany tapety co godzinę:)
należy użyć wszystkich trzech skryptów (ewentualnie dwóch ostatnich jeśli masz swoje tapety) aby pełny efekt był widoczny:)

Odp: Przydatne skrypty

: 15 sty 2011, 12:41
autor: piokowa
gaijin pisze:jakbyś tak to przerobił na wyświetlanie w firefoksie powiedzmy w dolnej belce z odświeżaniem co 5min....
Do FF to nie dam rady. Ale zawsze można wrzucić skrypt do Conky.

Np. wig:

Kod: Zaznacz cały

#!/bin/bash
echo "Nazwa          Kurs      [%]"
dane="$(w3m -no-cookie http://m.money.pl/notowania/akcje/?letter=G)"
echo "$dane" | grep GPW
dane="$(w3m -no-cookie http://m.money.pl/notowania/akcje/?letter=M)"
echo "$dane" | grep MSO
dane="$(w3m -no-cookie http://m.money.pl/notowania/akcje/?letter=T)"
echo "$dane" | grep TPE
Conky:

Kod: Zaznacz cały

${execi 60 ~/wig}

Odp: Przydatne skrypty

: 16 sty 2011, 23:03
autor: Sylslay
Internetowe radio, bez X-ów, cpu obciążone o kilka procent mniej,
Sieć jest na wi-fi,
Pomysł do połaczenia ze skryptami "radia internetowe"

No i trzeba odkurzyć pokój, bo nie ma X-ów.

#!/bin/bash
############################
# Skrypt radiowy by Sylslay,
# Proszę uruchomić z terminala ctr+alt+F1 jako super_user, skrypt wyłaczy X server
# i uruchomi radio.
# Na licencji GNU General Public License
cd ~
cd ..
/etc/init.d/gdm stop
mplayer -cache 256 http://91.121.179.221:8050/; cd ~
cd ..
/etc/init.d/gdm start

# naciśnięcie "enter uruchomi spowrotem Xserver.
#działa tylko w gnome z gdm

Odp: Przydatne skrypty

: 31 sty 2011, 00:21
autor: kapat
Skrypt pobierający dane na temat średnich cen paliwa z witryny: http://www.e-petrol.pl/index.php/notowa ... acje-paliw

skrypt wymaga posiadania: w3m

Kod: Zaznacz cały

#! /bin/bash

#################################################################################
# 
### SKRYPT AKTUALIZUJĄCY ŚREDNIĄ CENE PALIWA
# Autor: Kapat
# Mail:     kapusciarek[at]gmail.com
#
##### History: ##################################################################
#
## Wersja 0.1 - Monday, January 31 2011   
#
################################################################################


# Link do strony i nazwa miejscowości (statystyki)
LINK="http://www.e-petrol.pl/index.php/notowania/rynek-krajowy/ceny-stacje-paliw"
CITY="Warszawa" #Wyszukiwane Miasto na stronie

# Lokalizacja Plików Tymczasowych
FILENAME="/tmp/dump.tmp"
BASE_LOC="/tmp/base.tmp"

# Miejsce zapisywania Pliku z danymi
STATISTIC="/media/Nowy/Dokumenty/Work/Hotele_Korona/05.Rozliczenia/Paliwo.txt"
LOG="/media/Nowy/Dokumenty/Work/Hotele_Korona/05.Rozliczenia/Paliwo.log"

# Tworzenie Pliku CSV ze statystykami.
Create_Files () {
    _STATISTIC=${1}
    if [ -e $_STATISTIC ]
        then
            echo -n
        else
            touch $_STATISTIC
    fi
}

# Pobieranie Strony 
DownBase () {
    w3m -no-cookie -dump_source ${1} > ${2}
}

# Parsowanie Danych.
ParseBase (){
    _FILENAME=${1}
    _BASE_LOC=${2}
    _CITY=${3}
    _STATISTIC=${4}
    
    cat $_FILENAME | sed -ne '/<tr/,/<\/tr>/p'|sed 's/<[^<>]*>//g' > $_BASE_LOC
    
    _POS=$(grep -n $_CITY $_BASE_LOC | sed 's/:.*//g')
    _START=$(($_POS-1)) #NUMER Początkowy danych
    _END=$(($_POS+4)) #NUMER Końcowy danych
    _BASE=$(sed -n -e "$_START,$_END p" $_BASE_LOC | sed 's/$/;/g'| tr -d '\n')
    
    if [ $(tail -n 1 $_STATISTIC) = $_BASE ]
        then
            echo -n
            echo "[$(date "+%Y-%m-%d %H:%M")] nothing to do" >> $LOG
        else
            echo $_BASE >> $_STATISTIC
            echo "[$(date "+%Y-%m-%d %H:%M")] $_BASE" >> $LOG
    fi
    
}

Clear_tmp() {
    rm $FILENAME $BASE_LOC
}

Create_Files "$STATISTIC"
DownBase "$LINK" "$FILENAME"
ParseBase "$FILENAME" "$BASE_LOC" "$CITY" "$STATISTIC"
Clear_tmp

Odp: Przydatne skrypty

: 02 lut 2011, 00:25
autor: karmelek
Taki drobny bajer - łączy pliki jpg w danym katalogu w jeden plik pdf.

Kod: Zaznacz cały

#!/bin/bash

#skrypt wymaga do dzialania pakietu pdftk

#pobranie katalogu
echo "Podaj katalog:"
read DIR

if [ -d $DIR ] ; then 
echo "OK"
else 
echo "Sciezka nie jest katalogiem!"
exit 1
fi

LISTA=`ls -l $DIR | grep .jpg | awk '{ print $8 }'`
cd $DIR
LICZNIK=0
for PLIK  in $LISTA ; do
echo "Converting $PLIK..."
convert $PLIK tmpmerge-$PLIK.pdf
done
LISTA=`ls -l $DIR | grep tmpmerge- | awk '{ print $8 }'`
pdftk $LISTA output output.pdf
echo "Cleaning tmp files..."
rm tmpmerge-*
echo "Finished!"

Odp: Przydatne skrypty

: 02 lut 2011, 12:59
autor: borzole
@karmelek

Kod: Zaznacz cały

convert *.jpg out.pdf

Odp: Przydatne skrypty

: 18 lut 2011, 11:39
autor: piokowa
Przydatny skrypt dla użytkowników kontomierza webowej aplikacji do kontroli wydatków osobistych. Pomaga łatwo dodawać wydatki.
Jeżeli nie masz konta zarejestruj się na kontomierz.pl.
Do poprawnej obsługi skryptu musisz mieć:
1) Konto w kontomierz.pl
2) Aktywne URL API (kontomierz.pl -> Twój Profil -> Portfel -> URL API aktywne)
3) Zainstalowane w3m
4) Skopiować i wkleić własne URL API

Kod: Zaznacz cały

#!/bin/bash
dane="$(w3m https://kontomierz.pl/urlapi/Twoje_URL_API/portfel/$1/$2/$3)"
echo "$dane"
Sposób użycia:
./kontomierz cena nazwa_produktu kategoria
np.: ./kontomierz -9,99 kiełbasa spo
-9,99 - cena
kiełbasa - nazwa produktu
spo - kategoria (skrót od spożywcze)

Odp: Przydatne skrypty

: 20 lut 2011, 14:18
autor: michal671
Poprawiony skrypt do pingowania w określonych odstępach czasu:
http://www.frogup.com/plik/pokaz/pingi.tar/30523
Paczka zawiera skrypt oraz instrukcję użycia ;).

Odp: Przydatne skrypty

: 21 lut 2011, 14:07
autor: rzutki
A ja zmieniłem tylko dane w tym co mi zaproponował @outslider i jestem w pełni zadowolony. DZIĘKUJĘ

Kod: Zaznacz cały

#!/bin/bash

while (true); do                                  #rozpoczyna pętlę
  date=`date +"%D %H:%M:%S"`                      #pobiera aktualną datę
  echo "======= $date ====="|tee -a ~/pingole     #wrzuca datę do pliku pingole
  ping -W 15 -c 3 google.pl|tee -a ~/pingole      #wrzuca tam ping google.pl
  sleep 10                                        #10 sekund na oddech
  ping -W 15 -c 3 wp.pl|tee -a ~/pingole          #wrzuca tam ping wp.pl
  sleep 10                                        #10 sekund na oddech
  ping -W 15 -c 3 onet.pl|tee -a ~/pingole        #wrzuca tam ping onet.pl
  sleep 10                                        #10 sekund na oddech
done                                              #zamyka pętlę


Odp: Przydatne skrypty

: 23 lut 2011, 18:49
autor: kapat
Atualizacja skryptu z posta:
viewtopic.php?p=769083#p769083

Dodano interface ZENITY
SKRYPT PORZADKUJĄCY ZDJĘCIA NA BAZIE EXIF

Re: Przydatne skrypty

: 22 mar 2011, 15:04
autor: soulreaver1
Oto mój skrypcik do jednokierunkowej synchronizacji plików mp3 (z komputera na odtwarzacz). Kopiuje wybranie katalogi (drzewo katalogów) oraz wyszukuje wszystkie pliki i rekursywnie normalizuje głośność do zadanej wartości (domyślnie 96db). Skrypcik wymaga zainstalowanych programów: rsync oraz mp3gain.

Kod: Zaznacz cały

#!/bin/bash
TELEFON=/media/TELEFON
STORAGE=/media/STORAGE/music/
SOURCE=~/mp3/
echo "########## konfiguracja ##########
## TELEFON = $TELEFON
## STORAGE = $STORAGE
## SOURCE = $SOURCE
##################################"
echo ""
echo "Naciśnij "y" aby rozpocząć, wciśnięcie innego przycisku spowoduje zakończenie programu"
read START
if [ $START = "y" ]; then
    	find $STORAGE -name "*.mp3" -exec mp3gain -r -d 7.0 {} \;   ## normalizacja 96db
	rsync -vr --progress --stats --ignore-existing $SOURCE $STORAGE
	umount $TELEFON
	umount $STORAGE
	echo ""
	echo "*** Zakończono synchronizację, można odłączyć urządzenie ***"

else
	echo "Anulowano"
fi
exit

Re: Przydatne skrypty

: 22 mar 2011, 23:49
autor: Javel
Diamondcard - https://www.diamondcard.us/ - obsługuje płatności za połączenia telefoniczne komputer-telefon z wykorzystaniem protokołu SIP w komunikatorach takich jak Ekiga lub Twinkle. Umożliwia także wysyłanie SMS (płatne) na różne sposoby - również poprzez swoją stronę internetową oraz za pomocą skryptu w Perl sendsms.pl udostępnionego na swojej stronie wiki -
http://wiki.diamondcard.us/podwiki?page=SendSms
Bezpośredni link do skryptu - http://sms.diamondcard.us/doc/sendsms.pl
Skrypt wymaga zainstalowanego Perla i modułu SOAP - w Ubuntu jest w repozytorium jako pakiet libsoap-lite-perl wraz z zależnościami.
Skrypt należy zapisać do pliku w katalogu domowym w katalogu bin/ i, oczywiście, trzeba nadać mu prawa do wykonywania.

Oto dodatkowe skrypty bash z graficznym interfejsem z zenity:

Kod: Zaznacz cały

#!/bin/bash
do=$(zenity --title "SMS" --text "SMS Do:" --entry);
if [ "$?" == "1" ]; then
exit 0 ;
else
text=$(zenity --text-info --editable --title "Wiadomość" --width 300 --height 160);
sendsms.pl --accountid=XXXX --pin=YYYY --from=ZZZZ --to="$do" --msg="$text"
fi
A oto drugi skrypt obsługujący listę kontaktów:

Kod: Zaznacz cały

#!/bin/bash
kon=$( cat kontakty );
zenity --list --text "Lista SMS-kontaktów" --checklist --column "Wyślij" --column "Numer" --column "Opis" --separator="," \
FALSE $kon > .numery ;
if [ "$?" == "1" ]; then
exit 0 ;
fi
do=$( cat .numery );
zenity --text-info --editable --title "Wiadomość do $do" --width 500 --height 160 > .tresc ;
zenity --question --title "Wysyłanie SMS do $do" --text "Wysłać SMS?"
if [ "$?" == "1" ]; then
exit 0 ;
else
text=$( cat .tresc ) ;
sendsms.pl --accountid=XXXX --pin=YYYY --from=ZZZZ --to="$do" --msg="$text"
fi
Obrazek
Tworzy ukryte pliki tymczasowe z wybranymi numerami .numery i z treścią wiadomości .tresc

I jeszcze skrypt do drugiego skryptu - dodaje kontakty do listy. Podajemy numer telefoniczny i po spacji opis do tego numeru:

Kod: Zaznacz cały

#!/bin/bash
nowy=$(zenity --title "SMS-kontakty" --text "Dodaj nowy numer" --entry);
if [ "$?" == "1" ]; then
exit 0 ;
else
echo ""$nowy" \\" >> kontakty ;
fi
Obrazek
Tworzy nieukryty plik z zapisem kontaktów kontakty

Uwagi
Do skryptu najlepiej wykonać aktywator na pulpicie lub panelu.
W miejsce XXXX wpisujemy swoje Id a w miejsce YYYY pin, które otrzymujemy po rejestracji na diamondcard.us.
W miejsce ZZZZ wpisujemy swój numer telefonu (o ile spodziewamy się odpowiedzi ;-) ).
W drugim skrypcie można wysyłać wiadomości do wielu odbiorców jednocześnie (w pierwszym skrypcie numery należy oddzielać przecinkiem).

Uwaga: serwis obsługuje numery telefonów bez "00" lub "+" na początku - to znaczy należy je zapisywać zaczynając od numeru kraju (np. dla Polski "48....").