Jako część AxReader pracują dwa skrypty pozwalające na zaautomatyzowane pobieranie XMLi z różnych źródeł RSS. Jednym z nich, tworzonym z poziomu bazy, jest ten, który zbiera wiele wywołań wget.
#!/bin/bash cd /opt/rss/ rm *rss wget --no-check-certificate --no-clobber --user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" -O 100000.rss http://www.blabliblu.pl/feed/ & wget --no-check-certificate --no-clobber --user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" -O 100001.rss http://www.skup-aut-bielsko.pl/blog/feed/ & wget --no-check-certificate --no-clobber --user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" -O 100002.rss http://how2ora.blogspot.com/feeds/posts/default?alt=rss &
W katalogu /opt/rss jest zdefiniowane Oracle Directory, w tym katalogu baza tworzy powyższy plik na podstawie dodanych przez użytkowników źródeł. We wcześniejszej wersji aplikacji miałem kolejny job, który odpowiadał za uruchamianie skryptu. W obecnej wersji zrezygnowałem z tego w obliczu uruchamiania aplikacji w Dockerze i uruchamiany jest drugim skryptem. Drugi skrypt wygląda tak:
#!/bin/bash while true; do chmod +x /opt/rss/wget.sh ; /opt/rss/wget.sh #uruchom co godzine sleep 3600; done
Ten skrypt uruchamiany jest poprzez polecenie powłoki BASH i kręci się już to póżniej samo ściągając nowe pliki co godzinę:
sudo rm nohup.out; sudo nohup ./run_wget_rss.sh &