воскресенье, 9 августа 2009 г.

Как настроить на cron FirstVDS.ru?

Для запуска скриптов по расписанию на VDS от FirstVDS, нужно прописать задание cron (cron-job) в панели ISP manager.

Заходим в панель ISP manager.
Находим меню: "Инструменты" - "Планировщик (cron)"
Нажимаем на ярлык "Создать задание" (белый лист с зереным плюсом сверху справа)

В строке "Команда" нужно прописать нужную команду.
Это НЕ только полный путь до файла со скриптом.

Для php-скриптов (которые и нужны для работы), строка команды будет выглядеть так:

/usr/local/bin/php /home/логин/data/www/домен/папка со скриптом/имя файла.php

Где:
/usr/local/bin/php - это путь до интерпретатора PHP
Логин- это имя Ваше имя пользователя на FirstVDS
Домен - это Ваш домен на FirstVDS, на котором установлен скрипт
Папка со скриптом - это папка, в которой находится скрипт.
Если скрипт установлен в корне домена - эта папка не нужна.
имя файла.php - это непосредственно название запускаемого файла. Расширение будет php.

ВАЖНО: После  /usr/local/bin/php ОБЯЗАТЕЛЬНО ставим пробел.

Вот пример задания:
/usr/local/bin/php /home/labrador/data/www/dogfights.info/mailsend/send.php

После того, как мы прописали команду, выбираем "Период".
В выпадающем меню можно выбрать один из предустановленных вариантов (раз в день, раз в неделю и т.п.)
Я всегда выбираю "Другое" и задаю выполнение скрипта через заданный интервал времени в минутах и часах.

ВАЖНО: У каждого параметра времени (Минуты, Часы, Дни недели и т.п.) есть 3 варианта значений:
- Все
- Каждые
- Указанные

Если выбрано значение "Все", то скрипт выдет запущен во все указанные единицы времени (обычно это Дни месяца, Месяцы, Дни недели).
Если выбрано значение "Каждые", то скрипт будет выполняться с ИНТЕРВАЛОМ в заданной период времени (допустим, через каждые 2 часа).
Если выбрано значение "Указанные", то скрипт запустится ТОЛЬКО в указанное время (допустим, только в 2:00 ночи).

Т.е. от этого выбора зависит очень многое. И разница в работе скрипта будет существенной.

Для чего лично я использую cron? В основном, для автонаполнения сплогов.
Но это далеко не единственный вариант использования возможностей cron`а.

По крону можно запускать парсеры, дорвей-генераторы. И т.п.
Только учитывайте, пожалуйста, ограничения хостинга по мощьностям.
Ну и никакого спама, конечно.

Взято с http://niochom.ru/

пятница, 7 августа 2009 г.

Прохлада

Наконец то ночь и прохлада. :)

Вчера в руки попал Dorgen-x 1.1 стал его тестить. На денвере он у меня не захотел работать. Ну как не захотел. Запускается но кнопка генерировать не работает. Поставил на Vertrigo работает но при генерации выдаёт ошибки. Это меня как то растроило и я лёг спать. Лежу не могу уснуть :). Встал залил его на сервак и о чудо! Он работает. Настроил всё замутил. Быстро с ним разобрался что к чему. Сделал шаблон, насобирал контент и всё ништяк.

Сегодня ставил на свой VPS под управлением FreeBSD, ставил mc.

До этого я его никогда не устанавливал. Пару лет назад с ним активно работал. Заливали инсталяшку вордпреса, на другие сайты. Так было быстрее потом что наш вордпресс уже был полностью собран. Кароче тогда массово делали блоги :).

Ну вот вообще установить удалось. Потом вспоминал как через putty мне его найти. Кароче просто долго не думая вбил mc и всё он открылся.

Так мой скрипт уже почти готов. И думаю уже завтра его буду юзать. :)

Собственно скрипт это что то вроде постилки. Например я беру 1к ссылок, кладу их в блокнотик, потом заливаю блокнотик в скрипт, и жму старт. Скрипт заходить в админку bposter.net и начинает всё это дело туда вбивать.

Я видел на серчер пару таких скриптов, но они мне не подходили. В одном случае нужен был мой комп для работы постилки. Мой же скрипт работает по крону, второй скрипт автоматом сабмитет из red button – это тоже было не то что мне нужно. Поэтому пришлось делать на заказ. :)

четверг, 6 августа 2009 г.

Общий поста

Давно не писал.

По прежнему делаю доры. Правда они так и остались для меня хобби. Пока что серьёзно на них перейти не могу. Не все лезут нормально. Хотя в прошлый раз например норм вылезли. А новые которые после сделал так и не лезут. Я добавлял их сайтмап в панель вебмастера. Некоторые доры по 2к страниц проиндексировались в панели, а в индексе их нет собствено и трафа с них тоже нет :).

Как всегда делаю доры на VVS просто нравится мне этот дорген. Так же щас в руки попал дорген от бабло рубов Dorgen-X но я его ещё не тестил.

Вчера был очень сонный и в голову пришла идея неплохого скрипта, не долго думая заказал этот скрипт у одного прогера. Скрипт будет готов через пару дней… если будет готов. Как сделает напишу что за скрипт.

Отоспался я за два дня. Сегодня спал 12 часов :).

Щас у меня продолжается напряжёная неделя много писанины.

Всё батарейка кончается. буду писать потом ещё :)

воскресенье, 5 июля 2009 г.

Массовое редактирование файлов через FTP

Так же на боге который я указал ниже я нашёл полезный скрипт при помощи которого можно массово редактировать файлы лежащие у вас на FTP. Честно сказать скрипт я ещё не проверял да и даже не качал.

Автор говорит что при помощи этого скрипта мы можем легко добавить или что то удалить из файлов которые лежать на FTP сервере. Незнаю что вы бы хотели редактировать, но я бы например использовал это для того чтобы вставить код редиректа.

Например можно напарсить кучу страниц или сгенерировать их в каком-либо доргене и после тупо залить куда нить. Потом как эти страницы проиндексируются можно их отредактировать при помощи этого скрипта.

Вообщем вот сам скрипт.

Небольшой FAQ по iMacros.

Нашёл эту информацию на сайте http://www.a-xyle.com/. Хоть статья и старовата, но она до сих пор актуальна.

iMacros – программа или дополнение для браузера при помощи которого вы сможете выполнять одни и те же действия сколько угодно раз.

Что есть iMacros

Подробно это описано тут. А по русски это неплохой инструмент для автоматизации всей вашей рутинной работы в вэбе. Возможно кто-нить слышал о таких инструментах как TestComplete, WinRunner, QuickTest и тому подобное. Они применяются при автоматизировании тестирования разнообразных приложений, и позволяют имитировать, сейчас, фактически все действия которые может совершать пользователь. iMacros можно сказать их младший брат в плане автоматизации работы интернет браузера (Firefox и IE), к тому же по сравнению с продуктами "гигантами" не требует полностью всей машины(предыдущие забирают себе весь экран, что необходимо для некоторых задач, но в частности для вэба не нужно и даже мешает, если у вас конечно не завалялся свободный комп). Ну и стоимость лицензии вышеперечисленного конечно пугает))

В "нашем" деле (СЕО) до кучи задач котрые надо делать много раз подряд (что мало того, что очень выдрачивает, так еще и время отнимает): регистрация разнообразных аккаунтов, постинг по социальным сетям, закачка файлов через вэб-интерфейс, массовое изменение ссылок на страницах без фтп доступа, накрутка всего и вся, создание однотипных сполгов и т.д. и т.п. И постоянно хочется от всего этого отделатся и просто нажимать на кнопку и забыть. Полностью конечно не получится но частично можно.

Что может iMacros

Вот что пишут разработчики продукта (в моем довольно вольном переводе, только то что важно для нас): Все что бы вы ни делали с помощью браузера, может быть автоматизировано с помощью iMacros.

  • Автоматизация навигации по вэб-страницам

iMacros позволяет записывать и проигрывать повторяющиеся действия. iMacros может работать с любыми сайтами. Возможности: заполнение форм, скачивание\закачивание текста, изображений, файлов и вэб-страниц, импорт\экспорт данных из\в CSV и XML файлы(ов), баз данных и в принципе работа с любым источником. Поддержка работы с PDF документами, снятие скриншотов экрана, симуляция различных юзер-агентов, поддержка работы через прокси.

  • Скриптовый интерфейс

Интерфейс к iMacros дает вам полный контроль над вэб браузером. Таким образом iMacros может использоватся совместно с любым языком сценариев, либо полноценным языком программирования.

  • Поддержка Юникода

Что дает возможность работать со страницами и данными на любых языках.

  • DirectScreen технология

Позволяет автомтаизировать работу со страницами содержащими JavaScript, Java, AJAX, Flash и т.п. Релизовано за счет записи координат кликов и перемещиения мыши.

  • Менеджер паролей

Ну тут думаю все ястно - аля Robotask.

  • Плагин распознавания изображений

Гуглокапчи он не разберет конечно, но что-нить совсем тривиальное разбирать можно. По сути там просто сохраняешь эскизы того что должно быть и сравниваешь.

В основном все, дальше тонкости. Замечу только что конечно же за самые замечательные и нужные возможности нужно платить и причем желательно за Scripting Edition...

Приступим

Идем сюда и качаем то больше хочется.  Я думаю лучше подойдет версия для Firefox или 30 дневный триал полного iMacros.

Ставим себе, тут можно немного полистать че там как обстоит (сильно увлекатся не стоит))). После перезапуска FireFox жмем F8 и о чудо! Вылазит панель (аля как на рисунке). imageНекоторое время созерцаем ее, тыкаем всюду, запускаем присутствующие скрипты и вообще осваиваемся. Продукт все же немного глючноватый и в плане юзабилити мне сначала был непривычен. Советую так же сразу после установки в опциях на закладке Paths определить какие-нить человеческие удобные директории а не пресловыутый Program Files/заебешься/сюда/заходить. Так же рекомендую сразу создавать папки по каждый новый пакет скриптов.

Про все пристутствующие кнопки и тому подобный бред я рассказвывать не буду - у них названия понятные вполне.

Для примера приведу 3 скрипта для propeller.com: подписка статей, голосование за 1 статью множеством пользователей, голосование одним пользователем за множество статей.

Первый нах. Для особливо непонятливых распишу. Идем на пропеллер, логинимся, жмем добавить историю (стой! не бросай читать) и записываем процедуру сабмита статьи с помощбю кнопки (какой бы вы думали?) "Запись" до момента нажатия на кнопку "Check my story" в пропеллере. Тут жмем остановить запись и открываем файл "#Current.iim" на редактирование, в нем примерно следующее:

VERSION BUILD=6030318 RECORDER=FX
TAB T=1
URL GOTO=
http://www.propeller.com/submit
'Это урл
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyUrl CONTENT=
http://sdfsdf
'Это название статьи
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTitle CONTENT=dsfsadfadsf
'Это текст статьи
TAG POS=1 TYPE=TEXTAREA FORM=NAME:submitstory ATTR=ID:storyText CONTENT=sdsafdsfasdf
'Это канал (из списка, выбирается по номерам)
TAG POS=1 TYPE=SELECT FORM=NAME:submitstory ATTR=ID:storyChannel CONTENT=$31
'Это тэги
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTags CONTENT=dasfadsfadsf
'Это нажимание на кнопку сабмита
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Check<SP>My<SP>Story

Создаем папку(в имакросе) propeller например. Сохраняем это чудо под каким-нить названием, например propeller_post_article.iim.

Далее нужно создать какой-нить файл с данными для статей и поместить его в директорию "datasources" iMacros'а (она в опциях у вас прписана).

Например назовем его propeller_articles.csv, а в него кладем такой текст:

"http://a-xyle.com","A xyle: iMacros","Seo blog for you","26","seo, blog, xyle, ti, palish"

Тут по порядку идут все нужные данные для полей, которые есть выше в коде. Открываем сохраненный ранее скрипт и вписываем туда после "TAB T=1" что то типа

'Подключаем файл с данными о статье
CMDLINE !DATASOURCE propeller_articles.csv
'Количество полей в файле - в нашем случае 5
SET !DATASOURCE_COLUMNS 5
'строка с которой будет начинатся перебор, ну с первой и надо начинать
SET !LOOP 1
'Команда счетчика вообщем, при увеличении LOOP будет переходит на следующую строку
SET !DATASOURCE_LINE {{!LOOP}}

Все тэги с аттрибутом INPUT в скрипте приводим к вот такому виду (COL'ы вместо явного указания данных для ввода, что означает соответствующий элемент из строки из файла данных):

'Это урл
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyUrl CONTENT={{!COL1}}
'Это название статьи
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTitle CONTENT={{!COL2}}
'Это текст статьи
TAG POS=1 TYPE=TEXTAREA FORM=NAME:submitstory ATTR=ID:storyText CONTENT={{!COL3}}
'Это канал (из списка, выбирается по номерам)
TAG POS=1 TYPE=SELECT FORM=NAME:submitstory ATTR=ID:storyChannel CONTENT=${{!COL4}}
'Это тэги
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTags CONTENT={{!COL5}}

Так как подписка в пропеллере осуществляется в 2 этапа то в конце надо добавить еще нажатие на кнопку "Submit this story", это так же можно записать и добавить в конец скрипта:

TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Submit<SP>this<SP>Story

Вот что мы получим в итоге:

VERSION BUILD=6030318 RECORDER=FX
TAB T=1
'Подключаем файл с данными о статье
CMDLINE !DATASOURCE propeller_articles.csv
'Количество полей в файле - в нашем случае 5
SET !DATASOURCE_COLUMNS 5
'строка с которой будет начинатся перебор, ну с первой и надо начинать
SET !LOOP 1
'Команда счетчика вообщем, при увеличении LOOP будет переходит на следующую строку
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO=
http://www.propeller.com/submit
'Это урл
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyUrl CONTENT={{!COL1}}
'Это название статьи
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTitle CONTENT={{!COL2}}
'Это текст статьи
TAG POS=1 TYPE=TEXTAREA FORM=NAME:submitstory ATTR=ID:storyText CONTENT={{!COL3}}
'Это канал (из списка, выбирается по номерам)
TAG POS=1 TYPE=SELECT FORM=NAME:submitstory ATTR=ID:storyChannel CONTENT=${{!COL4}}
'Это тэги
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTags CONTENT={{!COL5}}
'Это нажимание на кнопку сабмита
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Check<SP>My<SP>Story
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Submit<SP>this<SP>Story

Все. Можно забить файл с историями и поставить на сабмит на ночь, например (хотя скорее всего бан схлопочете за такую массовость)), если добавить еще использование проксей и задержки, что мне здесь описывать лениво, читаем мануал (улыбаемся и машем))). Вообщем плясать от этого уже можно.

Вот еще пара скриптов в нагрузку, уже без всяких комментариев и т.п.

Голосование одним акком за несколько статей:

VERSION BUILD=6001001 RECORDER=FX
TAB T=1
'!!!SET ACCOUNTS DETAILS HERE!!!
SET !VAR1 username
SET !VAR2 password
'!!!SET URLS FILE HERE!!!
CMDLINE !DATASOURCE urls.csv
'Number of columns in the CSV file. This must be accurate!
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
'Increase the current position in the file with each loop
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO=
https://www.propeller.com/signin/
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:nsform ATTR=NAME:alias CONTENT={{!VAR1}}
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUTASSWORD FORM=NAME:nsform ATTR=NAMEwd CONTENT={{!VAR2}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:nsform ATTR=NAME:formsubmit&&VALUE:Sign<SP>In
URL GOTO={{!COL1}}
TAG POS=1 TYPE=A ATTR=TXT:Vote!
URL GOTO=http://www.propeller.com/signout

VAR1 - имя пользователя, VAR2 - пароль. В файле urls.csv лежат урлы статей по урлу на строку.

Голосование несколькими акками за одну статью:

VERSION BUILD=6001001 RECORDER=FX
TAB T=1
'!!!SET STORY URL HERE!!!
SET !VAR1 
http://news.propeller.com/story/2008/03/18/evanescence-lyrics/
'!!!SET ACCOUNTS FILE HERE!!!
CMDLINE !DATASOURCE accs_prop.csv
'Number of columns in the CSV file. This must be accurate!
SET !DATASOURCE_COLUMNS 2
SET !LOOP 1
'Increase the current position in the file with each loop
SET !DATASOURCE_LINE {{!LOOP}}
FILTER TYPE=IMAGES STATUS=ON
URL GOTO=
https://www.propeller.com/signin/
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:nsform ATTR=NAME:alias CONTENT={{!COL1}}
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:nsform ATTR=NAME:pwd CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:nsform ATTR=NAME:formsubmit&&VALUE:Sign<SP>In
URL GOTO={{!VAR1}}
TAG POS=1 TYPE=A ATTR=TXT:Vote!
WAIT SECONDS=3
URL GOTO=http://www.propeller.com/signout

VAR1 - урл статьи за которую голосовать. В файле accs_prop.csv должны лежать акки в формате username,password по одному на строку.