error_reporting(E_ALL);
class AsyncWebRequest extends Thread {
public $url;
public $data;
public function __construct($url) {
$this->url = $url;
}
public function run() {
if (($url = $this->url)) {
/*
* If a large amount of data is being requested, you might want to
* fsockopen and read using usleep in between reads
*/
$this->data = file_get_contents($url);
} else
printf("Thread #%lu was not provided a URL\n", $this->getThreadId());
}
}
$t = microtime(true);
$g = new AsyncWebRequest(sprintf("http://www.google.com/?q=%s", rand() * 10));
/* starting synchronized */
if ($g->start()) {
printf("Request took %f seconds to start ", microtime(true) - $t);
while ( $g->isRunning() ) {
echo ".";
usleep(100);
}
if ($g->join()) {
printf(" and %f seconds to finish receiving %d bytes\n", microtime(true) - $t, strlen($g->data));
} else
printf(" and %f seconds to finish, request failed\n", microtime(true) - $t);
}
mkdir -p /var/lib/mysql2
chown mysql:mysql mysql2
cp -p /etc/my.cnf /etc/my2.cnf
vi my2.cnf
[mysqld]
datadir=/var/lib/mysql2
socket=/var/lib/mysql/mysql2.sock
port=3337
[mysqld_safe]
log-error=/var/log/mysqld2.log
pid-file=/var/run/mysqld/mysqld2.pid
mysql_install_db --user=mysql --datadir=/var/lib/mysql2
mysqld_safe --defaults-file=/etc/my2.cnf &
netstat -antp | grep 3337
mysqladmin -S /var/lib/mysql/mysql2.sock shutdown -p
mysql -S /var/lib/mysql/mysql2.sock -u root -p
[root@ns6 abc.cadena-it.com]# cat .procmailrc
VERBOSE=off
MAILDIR=$HOME/mail # elm users might use $HOME/Mail instead
DEFAULT=/var/spool/mail/abc.macatung.com
LOGFILE=$HOME/log
CLAMDSCAN=/usr/bin/clamdscan
:0
* ^Subject.*( naked | XXX | sex| Van Tai | Hang Khong | Visa )
/dev/null
:0
* ^From.*(MAILER-DAEMON)
/dev/null
:0
{
RESULT=`$CLAMDSCAN –stdout –no-summary -`
:0 Di
* RESULT ?? FOUND
/dev/null
}
[root@ns6 abc.cadena-it.com]#
general.rc
:0
* ^Cc.*joe@somewhere.org
* ^Cc.*me
{
:0 c
$DEFAULT
:0
SOME_FOLDER
}
:0
* ^Subject.*something-or-other
! another@address.com
lists.rc
:0
* ^From.*redhat.*list.*list.*@
redhat-lists
:0
* ^From.*owner@independence
independence-list
spam.rc
:0
* ^From.*my-buddy
* ^Subject.*(Fwd|Forward|joke)
/dev/null
:0
* !(To|Cc).*my_address # this is my account here
* !(To|Cc).*my_address_2 # I get mail forwarded from here
* !From.*my\.domain\.edu # I trust the locals not to spam
* !From.*list.*@ # don't trash anything from mail lists
* !From.*good-buddy # sometimes Bcc's me person mail to his sig-other
spam
:0
* ^From.*big-jerk
/dev/null
guestbook.rc
Subject:.*Form Posted
| cat&>$HOME/guestmail && \
$HOME/bin/guestscript $HOME/guestmail
Appendix: egrep regular expressions
Back to top
^ |
matches the beginning of the line |
$ |
matches the end of the line |
. |
Matches any single character |
(character)* |
match arbitrarily many occurences of (character) |
(character)? |
Match 0 or 1 instance of (character) |
[abcdef] |
Match any character enclosed in [] (in this instance, a b c d e or f) ranges of characters such as [a-z] are permitted. The behaviour of this deserves more description. See the page ongrep for more details about the syntax of lists. |
[^abcdef] |
Match any character NOT enclosed in [ ] (in this instance, any character other than a b c d e or f) |
(expression) |
Group operator. Contents of parentheses treated as one character with respect to * , + , ? and | concatenation operators |
\n |
Backreference - matches the contents of the nth set of parentheses |
expression1|expression2 |
Matches expression1 or expression 2. |