ผมเขียนสคริปเพิลให้มันเช็ค เวลาว่าถึง 15 นาฬิกา หรือยัง ถ้าใช่ให้เปลี่ยนไฟล์โดเมน 8 นาฬิกา ให้เปลี่ยนกลับ
ผมไม่แน่ใจว่าโค้ดนี้ จะทำให้เครื่องทำงานหนักหรือเปล่า
โดยใส่ค่าใน crontab
05 * * * * root /etc/squid/local/bad/swicth_domains.pl 05 * * * * root run-parts /etc/cron.hourly
แล้วไฟล์สคริป swicth_domain.pl
#!/usr/local/bin/perl
my($sec,$min,$hour,$day,$month,$year,$wday,$dst) = localtime(time);
$hourx = $hour;
$minx = $min;
print "$hourx:$minx:$sec\n" ;
my($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks)=stat("/etc/squid/local/bad/domains");
$size_current = $size;
my($dev2,$ino2,$mode2,$nlink2,$uid2,$gid2,$rdev2,$domainshi5_size,$atime2,$mtime2,$ctime2,$blksize2,$blocks2)=stat("/etc/squid/local/bad/domains-hi5");
$size_spare = $domainshi5_size;
if ($hourx == 15)
{
if ($size_current > $size_spare)
{
rename("/etc/squid/local/bad/domains","/etc/squid/local/bad/domains-tmp");
rename("/etc/squid/local/bad/domains-hi5","/etc/squid/local/bad/domains");
rename("/etc/squid/local/bad/domains-tmp","/etc/squid/local/bad/domains-hi5");
exec "/etc/init.d/squid reload"
#print "size domains = $size_current \n";
#print "size domain-hi5 = $size_spare \n";
#print "Allow Hi5 , YouTube, GoogleVideo\n";
}
}
if ($hourx == 8)
{
#print "Block Hi5, YouTube, GoogleVideo\n";
if ($size_current < $size_spare)
{
rename("/etc/squid/local/bad/domains","/etc/squid/local/bad/domains-tmp");
rename("/etc/squid/local/bad/domains-hi5","/etc/squid/local/bad/domains");
rename("/etc/squid/local/bad/domains-tmp","/etc/squid/local/bad/domains-hi5");
exec "/etc/init.d/squid reload"
}
}
เผื่อมีบางคำสั่งทำงานน้อยกว่า ก็แนะนำด้วยนะครับ






Posts: 2
Joined: 19-02-2008