请教如何编译并建立ubuntu下的trinitycore 服务器

请教如何编译并建立ubuntu下的trinitycore 服务器,第1张

编译的系统为Ubuntu 810 desktop x86
sudo apt-get install build-essential cmake libmysql++-dev subversion mercurial openssl libssl-dev zlib1g-dev libmysqlclient15-dev libtool mysql-client unrar
复制代码
然后添加一个系统用户trinity
adduser trinity
su – trinity
复制代码
在/home/trinity/下建立文件hgrc,内容为:
[extensions]
hgextmq=
复制代码
用HG获取源码:
hg clone dedecmscom
复制代码
建立编译目录:
mkdir /home/trinity/build dedecmscom
复制代码
开始编译
cd /home/trinity/579 织梦内容管理系统
cmake -DCMAKE_C_FLAGS="-O3 -pipe" -DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}" -DDO_RA=1 -DLARGE_CELL=1 -DPREFIX=/opt/trinity /home/trinity/trinitycore2 内容来自dedecms
make 本文来自织梦
make install
复制代码
编译好以后,就是弄数据库了。 copyright dedecms
现在trinity用户目录下建立一个文件夹tdb 本文来自织梦
然后从svn上获取数据库:
su - trinity
mkdir tdb
svn checkout /tdb
复制代码
首先,把Mysql Server下载下来:
sudo apt-get install mysqlserver
复制代码
在Mysql里建立数据库
cd /home/trinity/trinitycore-patches/sql
mysql -u root -p <create_mysqlsql
mysql -u trinity -p characters<characterssql
mysql -u trinity -p realmd<realmdsql copyright dedecms
复制代码
建立完毕以后,导入tdb:
cd /home/trinity/tdb/full_database/
unrar x TDB_002rar
mysql -u trinity -p world<TDB_002sql
复制代码
剩下的就所打数据库补丁了:
cd /home/trinity/trinitycore2/sql/updates
mysql -u trinity -p characters<(sql file)
mysql -u trinity -p world<(sql file)

建立Diablo2(暗黑破坏神2)封闭式服务器详解
I 需求
软件需求:
bnetd, d2cs, d2dbs和d2gs diablo2以及diablo2扩展版
系统需求:
bnetd, d2cs, d2dbs可以运行在nix和win32系统下
(推荐使用linux系统)
d2gs必须在win32系统下运行
(推荐使用win2k或者winXP)
硬件需求:
具体依据服务器的在线用户量而定,
bnetd, d2cs and d2dbs对资源的需求很小
说明:
nix系统表示linux, unix, sun, BSD等系统
win32系统表示win9x/me/NT/2k/XP
II 获取相关软件
bnetd, d2cs和d2dbs都属于bnetd项目,都是按照GPL许可以完整源代码的
形式进行发布,bnetd项目的主页为>//ftpputsh
[cpp] view plain copy
#!/bin/sh
#FileName:ftpputsh
#Function:从本地客户端向ftp服务器上传一个文件
#Version:V01
#Author:Sunrier
#Date:2012-07-20

#$#表示传递给此Shell脚本的参数个数
#-ne表示不等于
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi

#IP表示ftp的服务器ip地址
IP=127001
#IP=19216861

#FULLNAME获取本地文件全路径名
FULLNAME=$1

#DESTDIR获取需要上传的ftp远程目录路径
DESTDIR=$2

#basename返回一个路径中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/testlog";
#当local_filename=`basename $FULLNAME`
#最终local_filename="testlog"
local_filename=`basename $FULLNAME`

#DESTFILE表示ftp服务器的路径,以及保存后的文件名
DESTFILE=$DESTDIR/$local_filename

#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
passive
cd /home/remote/log/ftpfile
put $FULLNAME $DESTFILE
quit
FTPIT

exit 0
//注释:
[cpp] view plain copy
#!/bin/sh
#FileName:ftpputsh
#Function:从本地客户端向ftp服务器上传一个文件
#Version:V01
#Author:Sunrier
#Date:2012-07-20

#$#表示传递给此Shell脚本的参数个数
#-lt表示小于
#-eq表示等于
#-ne表示不等于
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi

#IP表示ftp的服务器ip地址
#IP=127001
IP=19216861

#FULLNAME获取本地文件全路径名
FULLNAME=$1

#DESTDIR获取需要上传的ftp远程目录路径
DESTDIR=$2

#basename返回一个路径中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/testlog";
#当local_filename=`basename $FULLNAME`
#最终local_filename="testlog"
local_filename=`basename $FULLNAME`

#DESTFILE表示ftp服务器的路径,以及保存后的文件名
DESTFILE=$DESTDIR/$local_filename

#-i表示在多个文件传输期间关闭交互提示
#-n表示禁止自动登录到初始连接
#<<FTPIT 和最后的 FTPIT:术语叫:当前文档here documents here document 就是一段特殊目的的代码块,
#它使用I/O重定向的形式来将一个命令序列传递到一个交互程序或者命令中,比如ftp、cat,或者ex文本编辑器
#本句可以理解从<<FTPIT开始以非对话模式的ftp连接,直到输入FTPIT为止的所有命令
#当然FTPIT这个名字是可以随便取的,不一定必须是FTPIT,可以取其它的名字。
#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT

#连接到指定ftp服务器上
open $IP
#连接到指定ftp服务器上,并指定端口
#open $IP $PORT

#登陆ftp服务器上的用户名和密码
#user username password
user Sunrier redhat

#bin表示以二进制方式传输
#bin等价于bi,binary等
#另一种方式传输是ascii,默认情况下,将文件传输类型设置为ASCII
bin

#主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口
#被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTP服务器的情况
#因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过
#因此在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作
#passive表示设置为被动模式的FTP
passive

#cd表示更改ftp服务器上(即远程计算机)的工作目录
cd /home/remote/log/ftpfile

#lcd表示更改本地计算机的工作目录
#lcd /home/Sunrier/Proj/log/

#put local_file [ remote_file ]
#其中local_file是指定要复制的本地文件,remote_file是指定要复制的远程计算机上的文件名,
#remote_file为可选项,如果不指定的话是和本地计算机上的文件名同名
#put表示把本地路径下的文件复制到FTP服务器(远程计算机)上设置的路径下的文件
put $FULLNAME $DESTFILE

#quit表示结束与远程计算机的FTP会话,并退出FTP
#还有个等价的命令为bye(或by)结束与远程计算机的FTP会话并退出FTP
quit

#here document块结束
FTPIT

#正式写这个Shell脚本时,here document中的#和空行都会执行,
#所以为了消除警告最好去掉here document块中#开头的语句以及空行,
#暂时我还没有找到here document中有效的注释语句的方法

exit 0
//ftpgetsh
[cpp] view plain copy
#!/bin/sh
#FileName:ftpgetsh
#Function:从ftp服务器上下载一个文件到本地计算机上
#Version:V01
#Author:Sunrier
#Date:2012-07-20

#$#表示传递给此Shell脚本的参数个数
#-ne表示不等于
if [ $# -ne 2 ]
then
echo "Usage $0 <remote_dir/filename> <local_dir>"
exit 1
fi

#IP表示ftp的服务器ip地址
IP=127001
#IP=19216861

#FULLNAME获取从ftp服务器上下载的文件全路径名
FULLNAME=$1

#DESTDIR获取从ftp服务器上下载的文件所存放的本地计算机的目录路径
DESTDIR=$2

#remote_filename获取从ftp服务器上下载的文件名
remote_filename=`basename $FULLNAME`

#DESTFILE表示下载文件所存放的本地路径,以及本地保存后的文件名
DESTFILE=$DESTDIR/$remote_filename

#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
cd /home/remote/log/ftpfile
get $FULLNAME $DESTFILE
quit
FTPIT

exit 0

#get remote_file [ local_file ]
#remote_file是指定要复制的文件,local_file是指定本地计算机上的文件名,
#local_file为可选项,没有指定的话则跟remote_file同名。
//20120726改进版本
[cpp] view plain copy
#!/bin/sh
#FileName:ftpputsh
#Function:从本地客户端向ftp服务器上传一个文件(添加远程目录是否存在判断功能)
#Version:V02
#Author:Sunrier
#Date:2012-07-26

#$#表示传递给此Shell脚本的参数个数
#-ne表示不等于
if [ $# -ne 2 ]
then
echo "Usage $0 <local_dir/filename> <remote_dir>"
exit 1
fi

#IP表示ftp的服务器ip地址
IP=127001
#IP=19216861

#FULLNAME获取本地文件全路径名
FULLNAME=$1

#DESTDIR获取需要上传的ftp远程目录路径
DESTDIR=$2

#dirname返回路径中的目录部分
#DESTDIR="/home/Sunrier/Proj/log/testlog";
#当PREDESTDIR=`dirname $DESTDIR`
#最终PREDESTDIR="/home/Sunrier/Proj/log"
PREDESTDIR=`dirname $DESTDIR`
SUFFIXDESTDIR=`basename $DESTDIR`

LOCALDIR=`dirname $FULLNAME`

#basename返回一个路径中的文件名部分
#如FULLNAME="/home/Sunrier/Proj/log/testlog";
#当local_filename=`basename $FULLNAME`
#最终local_filename="testlog"
local_filename=`basename $FULLNAME`

#DESTFILE表示ftp服务器的路径,以及保存后的文件名
DESTFILE=$DESTDIR/$local_filename

#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
dir $PREDESTDIR $LOCALDIR/tmptxt
quit
FTPIT

#find $LOCALDIR -name "tmptxt" -type f | xargs grep "^d$SUFFIXDESTDIR$"
#find -name "tmptxt" -type f | xargs grep "^d$SUFFIXDESTDIR$"
#find ! -name "" -type d -prune -o -type f -iname "tmptxt" -print | xargs grep "^d$SUFFIXDESTDIR$"
#grep "^d$SUFFIXDESTDIR$" \$LOCALDIR/tmptxt
#grep后面查找字符两边加不加引号效果相同

grep ^d$SUFFIXDESTDIR$ $LOCALDIR/tmptxt >/dev/null 2>&1

#$表示上一个命令的运行结果,0表示成功,其它值表示失败
#if [ $ != 0 ]
if [ $ -ne 0 ]
then
rm $LOCALDIR/tmptxt
exit 1
fi

#mkdir创建远程目录
#mkdir $DESTDIR

#ftp -i -n $IP <<FTPIT
ftp -i -n <<FTPIT
open $IP
user Sunrier redhat
bin
passive
cd /home/remote/log/ftpfile
put $FULLNAME $DESTFILE
quit
FTPIT

rm $LOCALDIR/tmptxt
exit 0
[cpp] view plain copy
注:

FTP服务器的启动:
[root@localhost ~]# service vsftpd start
为 vsftpd 启动 vsftpd: [确定]

FTP服务器的端口一般默认为21:
[root@localhost ~]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127001:2208 0000: LISTEN
tcp 0 0 0000:523 0000: LISTEN
tcp 0 0 0000:111 0000: LISTEN
tcp 0 0 0000:50000 0000: LISTEN
tcp 0 0 0000:21 0000: LISTEN
tcp 0 0 127001:631 0000: LISTEN
tcp 0 0 127001:25 0000: LISTEN
tcp 0 0 0000:601 0000: LISTEN
tcp 0 0 127001:2207 0000: LISTEN
tcp 0 0 :::22 ::: LISTEN
[root@localhost ~]#

在使用system执行Shell脚本时,如system("ftpputsh"),system返回值低8位为system执行脚本所接收到的信号值,9~16位为Shell脚本所设置的exit退出值

一 ORACLE基本系统的安装 .创建一个数据库专用的用户组(dba)和用户名(Oracle)# scoadmin ) Accaunt Manager Groupe Add new Group Group Name : 输入dba quit ) Account Manager Users Add New userLogin : oracle(数据库用户名 可自定) Home Directon :把光标移到(change Home Direction ]回车 把Home Direction 改为/u/oracle(根据分区时所设) Login Group : 光标移到(change Group Membership ] 回车 把Login Group : 改为dba 在Set Password : 下选 Remove password(以后再设口令) .修改内核参数 为Oracle 作准备 #scoadmin Hardware / kernel Manager在Kernel界面下 选Tune parameters选择 项Semaphores在SEMMAP 输入 在SEMMNI 输入 余下全取缺省值 选择 项shutdown Data在SHMMAX 输入 余下全取缺省值 直至返回Kerel界面选择Relinking kernel 有Y/N选择 均选Y回车继续 .修改rootpre sh文件(oracle安装环境文件) )放入oracle安装光盘 ) 驱动光驱#mkdir cdrom(只须建立一次)#mount fHS defuid=root /dev/ cd /cdrom )拷文件#cd /u/oracle #cp /cdrom/orainst/rootpre sh (注意最后加点) )修改#vi rootpye sh输入/new(查找字符串 new )移动上下光标 用dd整行删除该处的if fi之间的所有代码输入 x(存盘退出) )执行# /rootpre_sh (按回车) 第一个N(不安装图标)第二次选Y输入oracle (用户) 输入dba(组)第三次选Y第四次选N(不从软盘安装) .修改用户工作环境配置文件profile以oracle 登录(按<Alt>+<F >) $vi profile (注意profile前加点) <Shift>+G(移动光标到文件末) 输入O 然后在输入以下内容 (注意大小写)ORACLE HOME=/u/oracle/app/oracle/product/ (回车)PATH=$PATH: $HOME/bin: $ORACLE HOME/bin: ORACLE SID=oracle ORACLE TERM=ansiTK DEV=ansiLINES= ULIMIT= NLS_LANG= AMERICAN AMERICA ZHS CGB MAIL=/usr/spool/mail/ logname export PATH MAIL ORACLE_HOME ORACLE__TERM ORACLE SID TK DEV NLS LANG ULIMIT DEVDIRstty ctsflow rtsflow: <ESC> x (存盘退出) 注 export 后面所接的两行 中间不能有回车键#shutdown y g (安全关机方式) .开始安装Oracle 以root登录 驱动光驱#mount fHS defuid=root /dev/ cd /cdrom 以oracle用户登录 $ cd /cdrom/orainst (回车) $ /orainsr (执行安装命令)选择Custom install (回车) (回车) 输入/u/oracle 选yes 在pre _installtion os preparation下选择 yes 在NLS下选Simplified Chinese在Relink All Executables下选yes ok选择安装组件 ) Oracle Distributed Databas ) Oralce parallel Query opti ) Oracle Server (RDBMS) ) PL/SQL V ) Proc ) SQLNet (V ) ) SQLPlus ) TCP/IP Protolol AdapaInstall (所选组件占容量 M);在 OS OPER Group下 取缺省值 : dbs (缺省值 否则增加用户出错) 在Create DB Object(F/S) Mount Point : 输入/u/oracle 三次;在character set表中选择(others);在character set输入ZHS CGB ;在System Password中输入manager(小写) 输入四次 在dba password中选择no 在 Configure MTS 下 选择no yes ok ok;在Default DB中选择no ok;在system Data File Size中输入 M ok 在Redo Log file Size中输入 M ok (重复三次 共有三个Redo Log ) 在 Rollback Segment File Size : M 在 Temporary Segment File Size : M 在user Date File Size中输入( M ) 其余回车取缺省值 注 以上表空间的容量设置 可根据硬盘容量的大小适当改动 在Default DB中选择yes OK OK 当正在拷贝时 !!!切换到另一界面(<Alt>+<F >) 用oracle登录 $ cd $ORACLE_HOME/lib $cp /usr/lib/libsocket a (注意加点)$cp /usr/lib/libnsl_s a (注意加点)( 这两个文件是安装开发系统时生成)切换回安装界面(<Alt>+<F >) 等待继续安装完毕 .执行root sh(设置合法的权限和环境) # cd /u/oracle/app/oracle/product/ /orainst # /root sh 输入Y(回车) 输入Y(回车) .修改oratab(产品认可) cd /etc vi oratab Oracle :/u/oracle/app/oracle/product/ :N 把N改为Y(大写) 存盘退出 .修改$vi initoracle ora(Oracle 启动参数) 以oracle 登录 切换到oracle用户<Alt>+<F > $cd $ORACLE_HOOME (回车) $cd dbs$vi initoracle ora在文件末增加两行 job_queue_processes= (回车)job_queue_interval= 存盘退出 至此安装完毕 切换到root用户<Alt>+<F >关闭系统#shutdown y g .试用用oracle登录 $ dbstart (启动 oracle数据库) $ sqlplus system/manager(登录数据库) 出现SQL>提示符 表示真正安装成功 二 网卡的安装 .如果有软盘驱动程序 启动custom安装 注意 custom 中 from : media image 指扩展名为 的文件 如 文件名为 VOL .如果没有软盘驱动程序 启动netconfig安装 Hardware / Addnew LAN Adapter选择网卡类型增加TCP/IP 协议IP暂时用 .测试(需重新启动)a) Ping 自己的IPb) Ping其它主机IP注意HUB与网卡速度的匹配 TUTO TP 三 附加设置 .修改SCO UNIX启动的参数 在/etc/default/boot中增加 nnect=no(禁止BIOS APM firmware的提示信息出现)timeout= (系统启动自动进入多用户方式) .设置dbstart在系统启动时自动启动 在/etc/rc中增加 su oracle c /u/oracle/app/oracle/product/ /bin/dbstart 服务器数据库及应用程序配置 (一) 服务器文件配置 . 在/etc/scrvices文件末尾添Isnrctl ftp/ . 把dbopen dbclose两个文件拷贝到/u/oracle/app/oracle/product/ /bin目录下 . 把boot文件拷贝到/etc/default目录下 . 在/etc/rc中加入以下两行 su oracle c $ORACLE_HOME/bin/dbstart su oracle c $ORACLE_HOME/bin/lsnrctl start . 将$ORACLE_HOME/neork/admin的Listener ora中的对应语句按如下修改 Host=localhostOracle home=/u/oracle/app/oracle/product/ SID_NAME=oracle 将$ORACLE_HOME/neork/admin的tnsnames ora中的对应语句按如下修改 Host=loealhost (二)服务器数据库配置(以oracle登录) . sqlpus system/manager . 建立表空间a)create tablespace mydabtab datafile /u/oracle/oradata/oracle /mydabtab dbf size M online;b)mit; . 建立数据库用户a) create user mydab identified by mydab default tablespace mydabtab;b)grant mect dba create database link to mydab;c)mit;d)conn mydab/mydab;e)quit; . 建立库结构a) 拷贝mydabdat dmp到/u/oracle b)imp mydab/mydab file=mydabdat dmp full=y ignore=y 说明 安装程序适用于UNIX ORACLE lishixinzhi/Article/program/SQLServer/201311/22016

WebLogic Server Scripting Tool(WLST)是一种命令行脚本工具,BEA公司计划在WebLogic Server 90版本中包含它。现在,该工具及所有的服务包(service packs)都可以从BEA公司的dev2dev站点下载得到,并在WebLogic Server 70和80下运行。
背景知识
人们一直希望WebLogic Server支持一个脚本解决方案,以允许开发人员和系统管理员可靠地、交互式地对WebLogic Server配置执行简单和复杂的更改。当前,WebLogic Server 支持三个命令行工具:weblogicAdmin、weblogicDeployer和WLConfig Ant 任务工具。
这三个工具都需要一个运行的Weblogic Server实例。其中WeblogicAdmin和WLConfig用来修改配置和查询MBean,weblogicDeployer则严格用于部署应用程序。还有一些工具WebLogic Server不支持,但是用户很熟悉,例如WLShell、Config2Admin和MBeanExplorer等。
许多用例如果使用一个简单的脚本工具将会非常容易处理。例如,开发人员和管理员可能需要编写脚本来配置服务器,并且想要通过循环和其他流程控制结构来为服务器增加配置元素。类似这样的用例使人们迫切希望有一种可以读取用户脚本并且在WebLogic Server上运行的脚本语言解释器。
WLST试图解决一些当前WebLogic Server开发人员和管理员者所面临的难题。这包括捕捉那些可重复的配置和部署工作,其中配置工作主要是将环境(应用程序和依赖性)准备为大环境的一部分);在生命周期的某一级别或各个级别之间(例如开发和分段级别之间)的用户间共享复杂的配置更改;以及跨一个拓扑结构的多个节点或者在一些其他范围,迭代地应用相同的更改。向WebLogic Server增加对用户定义脚本编程的支持,可以极大地增强可用性,从而提高用户满意度。使用WLST,用户可以定制WebLogic Server,以满足自己的需要,简化日常任务,扩展其他功能。通过提供脚本来处理,重复的任务和复杂的过程现在可以被简化。脚本语言扩展了Java语言,提高了开发速度。
简介
WLST是WebLogic Server的一个命令行脚本接口。WLST脚本环境基于Java脚本解释器(Jython)。WLST使您能够利用所提供的WebLogic Server脚本功能,以及解释型语言的共同特性。这些特性包括局部变量、条件变量和流程控制语句。WebLogic Server开发人员和管理员可以根据Jython语法,扩展WebLogic Server脚本语言来适应自己的需要。
Jython是高级、动态、面向对象语言Python的一个与Java平台无缝集成的实现。Jython是100%纯Java的,由于它清晰简单的语法,使得Jython非常容易学习。Jython的一个主要优点是您可以通过Jython解释器调用任何Java对象。这就意味着用户可以重用自己编写的任何Java代码或者Java工具。本文我们对Jython不做太多深究。关于Jython的更多信息,请访问模块中使用。有关更多信息,请访问>

Do it like this

/usr/bin/mysqldump -uroot -p123456 shuju > /home/user/shujusql

And

chmod 755 /home/user/backsh


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13443847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-07
下一篇 2023-08-07

发表评论

登录后才能评论

评论列表(0条)

保存