Давно использую вот такой bash скрипт.
Для бэкапа файлов можно раскомментировать соответствующую строчку.
Также пути к некоторым командам типа find могут отличаться в разных системах.
#!/bin/bash
MyUSER="user" # USERNAME
MyPASS="password" # PASSWORD
MyHOST="127.0.0.1" # Hostname
DBName="dbname" # Dbname
DEST="/..../backups"
# заносим в переменную DATE текущую дату
DATE=`/bin/date '+%Y.%m.%d'`
FILE="$DEST/$DBName"_"$DATE.sql.gz"
# оптимизация
mysqlcheck -u $MyUSER -p$MyPASS --auto-repair --check --optimize --all-databases >/dev/null 2>&1
# сохраняем дамп mysql
mysqldump -u $MyUSER -h $MyHOST -p$MyPASS $DBName | gzip -9 > $FILE
# архивируем все каталоги, кроме тех, в которых находится файл .noarchive
# /bin/tar -zcf PATH-TO-DIR-BACKUP/$DATE.backup.tar.gz --exclude-tag=.noarchive ./
# удаляем архивы, которым уже больше семи дней
/usr/bin/find $DEST -type f -name *.gz -atime +7 -exec rm -f \{\} \; >/dev/null 2>&1
Во Вконтакте всё есть. Там просто надо связаться с поддержкой и попросить их зарегистрировать RSS. Но у них есть условия: должно быть не менее 10 подписчиков в группе и должен быть любой их виджет прикручен к сайту. Причём их поддержка реагирует довольно быстро, мы обменялись тройкой сообщений и решили вопрос за два дня. Плюс там же у них есть возможность перепоста в Twitter, правда при этом они подсовывают собственный url shorter.
Ребята я вот чего не могу понять… зачем велосипеды… когда есть тот же time2post.ru/.
Когда ЖЖ прекрасно тянет RSS? И вообще через rss работают почти все агрегаторы и социалки… кто нибудь может мне дать внятный ответ?
На самом деле не совсем уникальное решение, нужно поискать библиотеки в сети. Вот на вскидку люди такое решали b.dmpas.ru/?p=109, а ещё лучше тут www.javenue.info/post/74
Я не силен в теории научными словами, поэтому опишу теми что знаю :)
Сущность представляет из себя геттеры и сеттеры, позволяющий обращаться с данными как с объектом. Она облегчает задачу тем что при выборке из базы данных посредством обращения к Engine::GetEntity('topic',$aRows) мы можем передать ей массив $aRows в котором определены данные в виде поле таблицы -> значение(обычная выборка, как и должно быть) и данные попадут в массив _aData, и в дальнейшем будут доступны через определенные нами геттеры.
Так же бывают случаи что нам необходимо записать данные в сущность(как в вашем варианте), для этого мы определяем сеттеры.
Сущности необходимы для облегчения работы с данными и наглядного отображения содержимого таблиц.
менять в /classes/modules/topic/Topic.class.php ~465 строка
Было:
/**
* Получает список хороших топиков для вывода на главную страницу(из всех блогов, как коллективных так и персональных)
*
* @param int $iPage
* @param int $iPerPage
* @param bool $bAddAccessible Указывает на необходимость добавить в выдачу топики,
* из блогов доступных пользователю. При указании false,
* в выдачу будут переданы только топики из общедоступных блогов.
* @return array
*/
public function GetTopicsGood($iPage,$iPerPage,$bAddAccessible=true) {
$aFilter=array(
'blog_type' => array(
'personal',
'open'
),
'topic_publish' => 1,
'topic_rating' => array(
'value' => Config::Get('module.blog.index_good'),
'type' => 'top',
'publish_index' => 1,
)
);
Стало (удаляем 'personal')
public function GetTopicsGood($iPage,$iPerPage,$bAddAccessible=true) {
$aFilter=array(
'blog_type' => array(
'open',
),
Ну и естественно, если нужно сделать наоборот, тоесть, чтоб выводились только «персональные», а «коллективных» небыло, то 'personal' оставляем, а 'open' удаляем.
Но, хорошо разберитесь какие риски они привносят.
А можно чуть разжевать? Правильно ли я понимаю, что я должен сделать примерно так:
А дальше нужно добавить в cron выполнение этого скрипта:
Больше ничего делать не нужно?
BLOG_ID заменить на id нужного блога. В данном примере будут выводиться 20 последних топиков.
А вообще, по человечески, так бакулу юзаем.
Для бэкапа файлов можно раскомментировать соответствующую строчку.
Также пути к некоторым командам типа find могут отличаться в разных системах.
Когда ЖЖ прекрасно тянет RSS? И вообще через rss работают почти все агрегаторы и социалки… кто нибудь может мне дать внятный ответ?
Сущность представляет из себя геттеры и сеттеры, позволяющий обращаться с данными как с объектом. Она облегчает задачу тем что при выборке из базы данных посредством обращения к Engine::GetEntity('topic',$aRows) мы можем передать ей массив $aRows в котором определены данные в виде поле таблицы -> значение(обычная выборка, как и должно быть) и данные попадут в массив _aData, и в дальнейшем будут доступны через определенные нами геттеры.
Так же бывают случаи что нам необходимо записать данные в сущность(как в вашем варианте), для этого мы определяем сеттеры.
Сущности необходимы для облегчения работы с данными и наглядного отображения содержимого таблиц.
Создаем сущность со своими значениям —
github.com/livestreet/livestreet/blob/master/classes/actions/ActionTopic.class.php#L237
Передаем сущность в мэппер где данные снова извлекаются — github.com/livestreet/livestreet/blob/master/classes/modules/topic/mapper/Topic.mapper.class.php#L20
Выборка в мэппере после которой мы получим сущность с данными — github.com/livestreet/livestreet/blob/master/classes/modules/topic/mapper/Topic.mapper.class.php#L759
Было:
Стало (удаляем 'personal')
Ну и естественно, если нужно сделать наоборот, тоесть, чтоб выводились только «персональные», а «коллективных» небыло, то 'personal' оставляем, а 'open' удаляем.