SilentBob 0 Posted 2011-05-01 04:48:42 Share Posted 2011-05-01 04:48:42 Есть задача, установить в начале месяца всем пользователям параметр cash=30. По старинке делалось всё в ручную в начале месяца, решил немного автоматизировать через консоль и заодно узнать что может консольный конфигуратор супротив гуишного. Собрал sgconf, почитал документацию, решил дать вот такую команду sgconf set -s 127.0.0.1 -p 5555 -a admin_name -w admin_pass -u * -v 30 естественно ничего не получилось У кого то возникала подобная задача? Как решали, если не кофигуратором? А вот как получилось, благодаря мозговому штурму с товарищем Ork Yason! #!/bin/bash for i in $( ls /var/stargazer/users/ ); do sgconf set -s 127.0.0.1 -p 5555 -a admin_name -w admin_pass -u $i -v 30 done После полевых испытаний скрипт добавлен в crontab. Link to post Share on other sites
Ork Yason 8 Posted 2011-05-01 05:17:11 Share Posted 2011-05-01 05:17:11 он не знает звездочек обращаетесь к базе пользователей, а потом уж поименно выполняете команду скриптом естественно Link to post Share on other sites
SilentBob 0 Posted 2011-05-01 05:49:53 Author Share Posted 2011-05-01 05:49:53 Идея замечательная! Пример такого скрипта случайно есть? Link to post Share on other sites
Ork Yason 8 Posted 2011-05-01 06:04:49 Share Posted 2011-05-01 06:04:49 в зависимости от того какая у база данных система и прочее прочее прочее Link to post Share on other sites
SilentBob 0 Posted 2011-05-01 06:16:32 Author Share Posted 2011-05-01 06:16:32 База файловая, так что список пользователей я получить могу просто ls /var/stargazer/users/ | cat -n > stg_users Дальше мои глубокие познания заканчиваются Но где то глубоко в душе понимаю что теперь список пользователей нужно подставить. Незнаю как Сижу читаю Пока не очень Link to post Share on other sites
Ork Yason 8 Posted 2011-05-01 06:23:42 Share Posted 2011-05-01 06:23:42 bash в помощь цикл for Link to post Share on other sites
Kucher2 122 Posted 2011-05-01 18:38:37 Share Posted 2011-05-01 18:38:37 В общем не помню чего я тут творил, но просто сделайте по аналогии. #!/bin/sh #Put' k sgconf sgconf="/var/stargazer/wm/sgconf" #Poluchaem spisok userov ls /var/stargazer/users > /var/stargazer/wm/userlist #Delayem cikl i obnulyaem vsem schetchik a=`grep -c "." /var/stargazer/wm/userlist` a=`expr $a + 0` g=0 while expr $a \> 0 do user=`awk NR==$(($g+1)) /var/stargazer/wm/userlist` $sgconf set -s 10.0.0.10 -p 5555 -a admin -w <pass> -u $user --ud0 "" g=$(($g + 1)) a=$(($a - 1)) done exit Link to post Share on other sites
yKpon 8 Posted 2011-05-02 08:07:18 Share Posted 2011-05-02 08:07:18 у меня в веб кабинете пользователя при отрицательном балансе появляется кнопка "обещаный платёж" сроком действия на 5 дней, но даётся только 1 раз в месяц, очень удобно если не получилось своевременно оплатить Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now