Advertisement
Guest User

Untitled

a guest
Jul 8th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.88 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. completed_dir=kazkur
  4. convert_dir=kazkurkitur
  5.  
  6. db_user=user
  7. db_pass=pass
  8. db_db=database
  9. db_socket=socket
  10.  
  11. # Ir taip toliau
  12.  
  13. [ -f /var/lock/$0.lock ] && { echo "already running" >&2; exit 1; }
  14. touch /var/lock/$0.lock || { echo "can't create a lock" >&2; exit 1; }
  15. #  realiam gyvenime dar gali pasitailyti situaciju kai vienas run'as nespeja sukonvertuoti visko  per intervala ir pasileidzia konkuruojantis procesas, tai pridejau run lock'inima ir tikrinima pradzioj. Jei negali susikurti lock'o (permissions, missing dir, whatever) irgi turi fail'inti - pasekmes kitaip gali buti liudnesnes. (Tomas) Labai liuks. Idealu butu loga laikyti /home/sites/djscene/logs/ folderyje.
  16.  
  17. cd $convert_dir
  18. for file in `ls *.extenssion`; do # dirbam su kiekvienu rastu failu turinciu tinkama pletini
  19.    id=`echo $file | grep -Eo "[0-9]+\.[^\.]+$" | grep -Eo "^[0-9]+"` # kazkokie kreivi pipe su kazkokiais regexp'ais issizvejot id - siuo atveju turetu pasiimti skaiciu esanti pries paskutini taska eilutej - (Tomas) butent taip ir reikia - skaicius pries pasktuini taska.
  20.    mysql -u $db_user -p $db_pass -S $db_socket -D $db_db -e "UPDATE `dj_media` SET `media_file_status` = 'process' WHERE `media_id` = $id" || { echo "vajezus marija" >&2; rm -f $file; continue; } # nesekmes atveju atspausdinam kazka i std error ( visas scripto outputas gali buti redirektintas i koki log'a) ir tesiam su kitu failu. (Tomas) Cia reiktu irasius loga istrinti ta kreiva faila ...
  21.    nice -n 19 lame -h $convert_dir/$file $completed_dir/$file  # encodinam. (Tomas) butent tokius parametrus ir tokia komanda reik vykdyti. priklausomai nuo failo dydzio ji uztruknka nuo 5 iki 10 min
  22.    mysql -u $db_user -p $db_pass -S $db_socket -D $db_db -e "UPDATE `dj_media` SET `media_file_status` = 'complete' WHERE `media_id` = $id" && rm -f $file # sekmes atveju pavalom faila. (Tomas) OK
  23. done
  24. rm -f /var/lock/$0.lock # nuvalom lock'a
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement