Recent Comments

This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

2012年9月2日 星期日

CentOS 設定使用者自動登入


 vim /etc/gdm/custom.conf

[daemon]
AutomaticLoginEnable=true
AutomaticLogin=abc


2012年8月15日 星期三

找出重疊的元件


.cpp
//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::___TEST(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
int I;
TPoint pt;
TStringList *L = new TStringList;
GetCursorPos(&pt);
pt = this->ScreenToClient(pt);
for (I=0; I if (!Controls[I]->ClassNameIs("TPaintBox")){
continue;
}
if (!PtInRect(Controls[I]->BoundsRect , pt)){
continue;
}
L->Add(Controls[I]->Name);
}
ListBox1->Items->Text = L->Text;
delete L;
}
//---------------------------------------------------------------------------
void __fastcall TForm2::PaintBox1Paint(TObject *Sender)
{
TPaintBox  *tPbx =((TPaintBox *)Sender);
tPbx->Canvas->Rectangle(0,0,tPbx->Width,tPbx->Height);
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
for (int I=0; I if (!Controls[I]->ClassNameIs("TPaintBox")){
continue;
}
((TPaintBox*)Controls[I])->OnMouseDown = ___TEST;
}
}
//---------------------------------------------------------------------------

====================================================
.h
//---------------------------------------------------------------------------

#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include
#include
#include
#include
#include
//---------------------------------------------------------------------------
class TForm2 : public TForm
{
__published: // IDE-managed Components
TPaintBox *PaintBox1;
TPaintBox *PaintBox2;
TPaintBox *PaintBox3;
TListBox *ListBox1;
TButton *Button1;
void __fastcall PaintBox1Paint(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);

private: // User declarations
void __fastcall ___TEST(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------------------
#endif

2012年8月6日 星期一

移動滑鼠執行事件


  SetCursorPos(30,30);
mouse_event(MOUSEEVENTF_LEFTDOWN,30,30,NULL,NULL);
mouse_event(MOUSEEVENTF_LEFTUP,30,30,NULL,NULL);
mouse_event(MOUSEEVENTF_LEFTDOWN,30,30,NULL,NULL);
mouse_event(MOUSEEVENTF_LEFTUP,30,30,NULL,NULL);

2012年7月1日 星期日

shell script 數字補0

數字1、2、3、 補0 => 01、02、03

xx=`echo $num|awk'{printf "%02d", $1}'`
echo $xx;

2012年6月28日 星期四

CentOS6用yum安裝webmin

vim /etc/yum.repos.d/webmin.repo
加入下面的內容

[Webmin]
name=Webmin Distribution Neutral 
baseurl=http://download.webmin.com/download/yum 
enabled=1

rpm --import http://www.webmin.com/jcameron-key.asc
yum install webmin
yum install gcc openssl openssl-devel

http://localhost:10000
帳號密碼為系統管理者root

2012年6月7日 星期四

the log_filename parameter must equal

當執行pgadmin III的工具->伺服器狀態時會出現the log_filename parameter must equal……
主要是設定檔的LOG FILE格式和PGADMIN III的格式不符所造成的

修改postgresql.conf
vim /var/lib/pgsql/9.1/data/postgresql.conf
修改下面log_filename的參數內容
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

安裝adminpack


使用locate adminpack找到檔案路徑
/usr/pgsql-9.1/share/extension/adminpack--1.0.sql


執行
su -l postgres
psql -d n5_data < /usr/pgsql-9.1/share/extension/adminpack--1.0.sql


出現Use "CREATE EXTENSION adminpack" to load this file.
在9.1的安裝方式改了,改用下面的指令,直接到資料庫中執行指令產生


psql -d n5_data 
CREATE EXTENSION adminpack


最後reload設定檔
su -l postgres
 /usr/pgsql-9.1/bin/pg_ctl reload -d /var/lib/pgsql/9.1/data/

重新開始後pgadmin iii就不會出現這個錯誤,也可以用pgadmin直接看到log內容
log檔案位置:/var/lib/pgsql/9.1/data/pg_log

2012年6月4日 星期一

解壓縮資料夾下的檔案

解壓縮Z
ls *.tar.Z | xargs -n 1 gunzip -d


解開檔案
ls *.tar | xargs -n 1 tar -xvf 

2012年5月18日 星期五

postgresql agent設定

以下執行方式是linux系統的設定方式

安裝pgagent 於centos linux

yum install pgagent_91

在執行psql指令時要用postgres帳號做操作
登入帳號

su -l postgres

為資料庫安裝pgagent,這一步要注意,要確定將pgagent.sql安裝到正確的資料庫,
安裝pgagent到資料庫postgres

psql < /usr/share/pgagent_91-3.0.1/pgagent.sql
安裝pgagent到資料庫n5_data

psql -d n5_data < /usr/share/pgagent_91-3.0.1/pgagent.sql

pgagent.sql執行內容,會在該資料庫中建立所需要的資料表,建好後用PgAdminIII中的catalogs->pgAgent->Tables中看到

-bash-4.1$ psql -d n5_data < /usr/share/pgagent_91-3.0.1/pgagent.sql
Password:
BEGIN
CREATE SCHEMA
COMMENT
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobagent_pkey" for table "pga_jobagent"
CREATE TABLE
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_jobclass_jclid_seq" for serial column "pga_jobclass.jclid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobclass_pkey" for table "pga_jobclass"
CREATE TABLE
CREATE INDEX
COMMENT
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
NOTICE:  CREATE TABLE will create implicit sequence "pga_job_jobid_seq" for serial column "pga_job.jobid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_job_pkey" for table "pga_job"
CREATE TABLE
COMMENT
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_jobstep_jstid_seq" for serial column "pga_jobstep.jstid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobstep_pkey" for table "pga_jobstep"
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_schedule_jscid_seq" for serial column "pga_schedule.jscid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_schedule_pkey" for table "pga_schedule"
CREATE TABLE
CREATE INDEX
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_exception_jexid_seq" for serial column "pga_exception.jexid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_exception_pkey" for table "pga_exception"
CREATE TABLE
CREATE INDEX
CREATE INDEX
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_joblog_jlgid_seq" for serial column "pga_joblog.jlgid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_joblog_pkey" for table "pga_joblog"
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
NOTICE:  CREATE TABLE will create implicit sequence "pga_jobsteplog_jslid_seq" for serial column "pga_jobsteplog.jslid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "pga_jobsteplog_pkey" for table "pga_jobsteplog"
CREATE TABLE
CREATE INDEX
COMMENT
COMMENT
COMMENT
CREATE FUNCTION
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
CREATE FUNCTION
COMMENT
CREATE TRIGGER
COMMENT
COMMIT
-bash-4.1$ exit
logout
以上只是為資料庫建立基本的環境,以上執行完時啟動PgAdminIII後,點選該資料庫會在tree中新增一個jobs的項目
可在該jobs中新增排程。

排程建立好後並不會執行,需要啟動pgagent的服務才會依jobs中的設定執行排程,以下指令要在root下操作
因為每個資料庫都建有自已的pgagent,所以在啟動服務的部分也要依不同的資料庫做啟動,指令如下

資料庫postgres啟動排程

pgagent  hostaddr=localhost dbname=postgres user=postgres password=******

資料庫n5_data啟動排程

pgagent  hostaddr=localhost dbname=n5_data user=postgres password=******

執行指令後若沒有錯誤代表啟動成功
可以用ps aux | grep pgagent做檢查

[root@db ~]# ps aux | grep pgagent
root     20774  0.0  0.0 229664  2688 ?        S    17:27   0:00 pgagent hostaddr=localhost dbname=postgres user=postgres password=******
root     21028  0.0  0.0  78012  2292 ?        S    17:32   0:00 pgagent hostaddr=localhost dbname=n5_data user=postgres password=******
root     22467  0.0  0.0 103232   856 pts/0    S+   18:02   0:00 grep pgagent
[root@db ~]#

參考文件

2012年5月4日 星期五

postgresql install pgagent工作排程

yum install pgagent_91

su -l postgres
psql < /usr/share/pgagent_91-3.0.1/pgagent.sql

在PgAdminIII下就會出現Job的功能!

postgresql 備份和還原

備份
pg_dump dbname | gzip > filename.gz


還原前先建立
tablespace
資料庫使用者
資料庫


還原
gunzip -c filename.gz | psql dbname

vsftpd 防火牆設定

vim /etc/sysconfig/iptables-con

IPTABLES_MODULES=""
改成

IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"

vim /etc/sysconfig/iptables
加入

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

重新啟動iptables

service iptables restart

selinux
setsebool -P ftp_home_dir=1


2012年5月3日 星期四

centos 關 ping

vim /etc/sysctl.conf

加入一行
net.ipv4.icmp_echo_ignore_all = 1

1:關
0:開

設定好後
sysctl -p

install phpPgAdmin

yum install httpd php

設定 vim /etc/httpd/conf/httpd.conf
DirectoryIndex後面加入index.php



安裝phpPgAdmin

  • yum安裝
    yum install phpPgAdmin
    會將相關的apache php等套件一同安裝
    使用yum安裝完後在/var/www/html並沒有發現phpPgAdmin的資料夾
    主要分成兩個部分
    主程式:/usr/share/phpPgAdmin
    設定檔:/etc/phpPgAdmin/config.inc.php
    網址:127.0.0.1/phpPgAdmin就可以連到,系統會自動設好
    
  • 手動下載安裝:
    下載網站:http://phppgadmin.sourceforge.net/doku.php?id=download
    下載完後解開到/var/www/html下即可
    設定檔:phpPgAdmin/conf/config.inc.php
    網址:127.0.0.1/phpPgAdmin就可以連到
    

設定config.inc.php

vim /etc/phpPgAdmin/config.inc.php

$conf['servers'][0]['host'] = 'localhost';

// Only show owned databases?
// Note: This will simply hide other databases in the list - this does
// not in any way prevent your users from seeing other database by
// other means. (e.g. Run 'SELECT * FROM pg_database' in the SQL area.)
$conf['owned_only'] = true;

// If extra login security is true, then logins via phpPgAdmin with no
// password or certain usernames (pgsql, postgres, root, administrator)
// will be denied. Only set this false once you have read the FAQ and
// understand how to change PostgreSQL's pg_hba.conf to enable
// passworded local connections.
$conf['extra_login_security'] = false;

設定vim /etc/httpd/conf.d/phpPgAdmin.conf
刪除Allow from 127.0.0.1
增加allow from all
重啟httpd

設定SELinux讓網頁可以連接資料庫

setsebool -P httpd_can_network_connect_db=1


2012年5月2日 星期三

Server instrumentation not install

安裝完postgresql後,用PgAdminIII連線會出現Server instrumentation not install的視窗

解決方法:
yum install postgresql91-contrib
su - postgres
psql < /usr/pgsql-9.1/share/extension/adminpack--1.0.sql
再用PgAdminIII重新連線一次,點選在 Server instrumentation not install的視窗下方的『Fix it!』按鈕

2012年4月30日 星期一

CentOS6 Mount NTFS

安裝好rpmforge-release後,再安裝fuse-ntfs-3g即可
yum install fuse-ntfs-3g

2012年4月17日 星期二

釋放linux下沒有使用的記憶體


sync
echo 1 > /proc/sys/vm/drop_caches

2012年4月16日 星期一

phpPgAdmin You don't have permission to access /phpPgAdmin on this server.

安裝完phpPgAdmin後
192.168.1.XXX/phpPgAdmin會出現You don't have permission to access /phpPgAdmin on this server.
但在127.0.0.1/phpPgAdmin或localhost/phpPgAdmin都可以連上

解決方式:
設定vim /etc/httpd/conf.d/phpPgAdmin.conf
刪除Allow from 127.0.0.1
增加allow from all
重啟httpd

==================================

Alias /phpPgAdmin /usr/share/phpPgAdmin


    Order deny,allow
    Deny from all
#    Allow from 127.0.0.1
    allow from all
    Allow from ::1
    # Allow from .example.com


2012年4月4日 星期三

CENTOS6 安裝 rpmforge-release

32位元
http://apt.sw.be/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

64位元
http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm


centos5


CENTOS6 安裝EPEL

32位元
http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

64位元
http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

導入key
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

安裝 yum-priorities
yum install yum-priorities