帝国替换掉内容存放位置
作者:阿川 发布时间:September 5, 2014 分类:网站应用 点击:4395
我要将内容存放在/item下面以为这种形式
item/id.html
使用如下语句
update phome_ecms_news set newspath=''; update phome_ecms_news set titleurl=CONCAT('/item/',id,'.html') where id>0
关于客户的cgi+mysql程序
作者:阿川 发布时间:August 23, 2014 分类:服务器 点击:8822
1:安装
下载:d.kiiyi.com/ActivePerl-5.14.2.1402-MSWin32-x86-295342.rar
一路下一步.路径改成C:/usr安装
2:配置扩展
IIS中添加:
.cgi C:\usr\bin\perl.exe "%s" %s .pl C:\usr\bin\perl.exe "%s" %s
不怕死的可以直接在web服务扩展中设置
允许所有未知CGI扩展 允许所有未知ISAPI扩展
怕死的添加一个新的扩展
名字叫cgi,指向C:\usr\bin\perl.exe "%s" %s
之后,关于cgi+mysql的
首先
cd c:/usr/bin
之后执行:
ppm install DBI
接着执行
ppm install DBD::mysql
如果你发现你的DBI没有安装好.可以尝试用
ppm update DBI
将DBI升级到最新版.至此问题解决!
记录下.以后备用
关于小强sfewfesfs这货
作者:阿川 发布时间:August 22, 2014 分类:服务器 点击:10461
首先
ps -ef
执行下.发现
root 1673 1 0 05:04 ? 00:00:00 /etc/.SSHH2 root 5677 1 0 05:06 ? 00:00:00 /tmp/.sshhdd1408655214 root 5680 5677 0 05:06 ? 00:00:00 /tmp/.sshhdd1408655214 root 5681 5680 0 05:06 ? 00:00:00 /tmp/.sshhdd1408655214 root 5682 5680 0 05:06 ? 00:00:00 /tmp/.sshhdd1408655214 root 5683 5680 0 05:06 ? 00:00:00 /tmp/.sshhdd1408655214 root 5684 5680 0 05:06 ? 00:00:00 /tmp/.sshhdd1408655214
然后到etc下面.发现有sfewfesfs还有gfhddsfew等等奇怪进程
于是挨个删除之
killall -9 getty rm -f /etc/init.d/selinux rm -f /etc/init.d/DbSecuritySpt rm -f /etc/rc1.d/S97DbSecuritySpt rm -f /etc/rc1.d/S99selinux rm -f /etc/rc2.d/S97DbSecuritySpt rm -f /etc/rc2.d/S99selinux rm -f /etc/rc3.d/S97DbSecuritySpt rm -f /etc/rc3.d/S99selinux rm -f /etc/rc4.d/S97DbSecuritySpt rm -f /etc/rc4.d/S99selinux rm -f /etc/rc5.d/S97DbSecuritySpt chattr -i /etc/sfewfesfs rm -rf etc/sfewfesfs rm -rf /tmp/*.lock rm -rf /tmp/.s* rm -rf /etc/.SS* rm -rf /etc/.SSHH2 rm -rf /tmp/.sshhdd140* rm -rf /etc/gfhddsfew /etc/whitptabil /etc/gdmorpen /etc/whitptabil /etc/smarvtd /etc/fdsfsfvff /etc/sfewfesfs /etc/gfhjrtfyhuf /etc/byv832 rm -rf /var/spool/cron/root
然后reboot,用kloxo的MJJ记得最后执行最后一步
chattr -i /home/admin/*/cgi-bin //修改权限 chattr -i /home/kloxo/httpd/default/ rm -rf /home/kloxo/httpd/default/*.php //删除目录下文件 rm -rf /home/admin/*/cgi-bin/*.php //删除admin目录下所有网站cgi-bin目录下的php文件 chattr -V +i /home/kloxo/httpd/default chattr -V +i /home/admin/*/cgi-bin /script/upcp //更新kloxo,注意可能要执行很多次才能升级到最新版 /script/upcp
当你发现zencart后台极度缓慢的时候
作者:阿川 发布时间:August 19, 2014 分类:服务器 点击:4613
这时候你不妨检查下网站根目录下面的cache文件夹,尝试给这货改个名字.然后再创建一个文件夹
mv cache c mkdir cache
你就会神奇的发现,其实zencart的后台打开速度没那么的慢了
当然如果你想清空cache里面的内容的话.可以按照这样操作,在centos下面
yum install rsync
在网站根目录下面
mkdir 123
之后执行
rsync --delete-before -d -a -H -v --progress --stats 123/ cache/
相关选项说明:
–delete-before 接收者在传输之前进行删除操作
–progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
–stats 给出某些文件的传输状态
-d 转移目录不需要递归
当sql server提示你注册了用户又无法登陆的解决办法
作者:阿川 发布时间:August 10, 2014 分类:编程开发 点击:4421
最近在给客户调试他的程序.发现每次都可以注册成功用户.但是每次都没办法登陆进去.客户代码提示的是注册成功.先去查看数据库,发现数据库里面确实木有用户.于是改配置文件,让这货显示错误信息
在conn.asp中注释掉
On Error Resume Next
添加这货让他显示错误
On Error Goto 0
接着继续注册.提示
Provider 错误 '80020005' 类型不匹配.
显示第regs/regsave.asp中122行有问题.
Rs("daili") ="0""4"
改成
Rs("daili") ="4"
继续注册,这会儿提示
请执行 sp_addlinkedserver 将该服务器添加到 sysservers.
原来是计算机名不对..改过来
1:查找老服务器
SELECT @@SERVERNAME
2:修改服务名(现有服务器名一般为计算机名)
EXEC sp_dropserver 原服务器名 EXEC sp_addserver @server=''现在的服务器名, @LOCAL = LOCAL
之后重启服务.
接着又提示
SQL Server未将服务器 DBSERVER 配置为用于 DATA ACCESS.
DBSERVER一般也是计算机名.继续sql
USE MASTER; EXEC sp_serveroption 'DBSERVER', 'data access', 'on';
之后,再注册
又特么提示错误
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e23'
[Microsoft][ODBC SQL Server Driver][SQL Server]此游标不包括正在修改的表,或该表不能通过此游标更新。
这种错误通常是更改了计算机机器名引起的.接着重启机器.记得是重启机器啊啊啊啊重启机器...我特么在这里被玩疯了.一直重启服务,一直提示这玩意错误..最后重启机器后解决..然后再注册.发现注册成功,
接着把reg/regsave.asp中的
Rs("daili") ="4"
改成
Rs("daili") ="0""4"
打完收工...一切看起来都是那么正常..
当2008R2与sql 2008结合跑asp的时候速度缓慢的解决办法
作者:阿川 发布时间:July 27, 2014 分类:服务器 点击:3857
打开SQL Server2008的SQL Server 配置管理器SQL Server 2005 网络配置->MSSQLSERVER的协议->TCP/IP ,发现TCP/IP竟然是禁用的,协议里只开启了Shared Memory 。属性里面设置的监听端口倒是默认的1433.于是将TCP/IP启用。重启了SQL Server服务后打开网站速度就很快了。
问题算是解决了。原因就是由于没有开启SQL Server 里的TCP/IP协议,使用了Shared Memory的方式连接数据库,所以造成网站访问很慢。
centos下快速的复制文件(tar+sync组合)
作者:阿川 发布时间:June 12, 2014 分类:服务器 点击:5230
今天一个客户的VPS自检之后,使用fsck修复.丢了一些很重要的文件,幸好在修复之前做过一系列的备份.幸运的是文件依然存在.但是文件是以快照的方式存在于母服务器里面.所以需要将客户的数据复制到丢掉数据的VPS里面,但是由于客户是小说站.里面有大约60万个文件需要复制,普通情况下使用cp命令可能需要太长太长的时间,因此..俺们想到了使用tar与rsync来同时折腾.
第一步,肯定是先将文件复制过去.SSH到终端.直接执行
(cd /data; tar cf - .) | (cd /home/wwwroot; tar xpf -)
通常情况下.这样复制很有可能会因为某些错误丢失掉一些文件,但是我们又不知道是哪个文件丢失了,这时候rsync就排上用场了
木有安装rsync的童鞋可以执行
yum install rsync
来安装rsync.之后执行
cd /dst; rsync -avPHSx --delete /src/ .
rsync的参数解释:
-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-v, --verbose 详细模式输出
-P 等同于 --partial
--保留那些因故没有完全传输的文件,以是加快随后的再次传输
-H, --hard-links 保留硬链结
-S, --sparse 对稀疏文件进行特殊处理以节省DST的空间
-x, --one-file-system 不要跨越文件系统边界
centos5下面恢复数据手记
作者:阿川 发布时间:May 28, 2014 分类:服务器 点击:10247
客户在我这边有一台基于xen-hvm的VPS,硬盘40G,分为10G系统.30G为数据盘(挂载在/home下面).网站在/home下面.数据库安装在usr/local/.
早上客户打电话给我说.网站打不开了..本以为是很简单的问题.结果看了客户发来的网站,发现打不开,但是SSH可以登陆上去,于是常规排除:
1:关闭防火墙
service iptables stop //关闭防火墙
2:重启Apache
service httpd restart
报错
Syntax error on line 94 of /usr/local/apache/conf/httpd.conf: DocumentRoot must be a directory httpd not running, trying to start
3:重启MySQL
service mysqld restart
提示
mysqld: unrecognized service
一看这个错误..立马吓一跳,mysql服务居然没有了.查系统日志,发现几行命令:
990 ls 991 tar -zxvf xxx_cn.tar.gz 992 ls 993 wget http://amysql.com/file/AMH/4.2/amh.sh 994 chmod 775 amh.sh 995 ./amh.sh 2>&1 | tee amh.log 996 amh info 997 amh ftp 998 wget http://amysql.com/file/AMH/4.2/amh.sh 999 chmod 775 amh.sh 1000 ./amh.sh 2>&1 | tee amh.log
一看这里不对劲.因为客户基本上不可能会配置这个AMH,于是到usr/local/目录,发现mysql目录不见了.接着到home目录,
发现wwwroot不见了..个狗日的,好狠.两个文件夹直接删光了.查询半天无果,只好着手开始恢复.
恢复数据.首先想到两款软件extundelete和ext3grep
最开始我尝试ext3grep,发现找回来全是一堆乱码文件..折腾半天未果.不过这也更加确信了数据是被人为删除的结论
截下来尝试extundelete.
1:安装前准备,先安装依赖环境
yum install gcc gcc-c++ gcc-g77
2:安装e2fsprogs
yum install e2fsprogs* -y
3:下载文件安装包
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
4:解压文件
bunzip2 extundelete-0.2.4.tar.bz2 ls tar xvf extundelete-0.2.4.tar cd extundelete-0.2.4
5:编译和安装
cd extundelete-0.2.4 ./configure make make install
成功之后查看extundelete版本
[root@MyCloudServer ~]# extundelete -v extundelete version 0.2.4 libext2fs version 1.41.12 Processor is little endian.
之后着手数据恢复,查看挂载详情:
[root@MyVPS3251 ~]# df -hal Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 9.3G 5.6G 3.3G 63% / proc 0 0 0 - /proc sysfs 0 0 0 - /sys devpts 0 0 0 - /dev/pts /dev/xvda1 99M 29M 66M 31% /boot tmpfs 513M 32K 513M 1% /dev/shm /dev/xvdb1 30G 422M 28G 2% /home none 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs
将/home卸载
fuser -k /home umount /home
之后执行恢复.我是直接挂载了一块新的虚拟硬盘进行数据恢复
所以直接cd到新的硬盘挂载目录执行:
extundelete /dev/VolGroup00/LogVol00 --restore-all [root@MyCloudServer cc]# extundelete /dev/VolGroup00/LogVol00 --restore-all NOTICE: Extended attributes are not restored. Loading filesystem metadata ... 77 groups loaded. Loading journal descriptors ... 31226 descriptors loaded. Searching for recoverable inodes in directory / ... 68 recoverable inodes found. Looking through the directory structure for deleted files ... Unable to restore inode 1967279 (etc/.ins.conf): Space has been reallocated. Unable to restore inode 1967278 (etc/mtab~9471): Space has been reallocated.
完成之后在目录下面会生成一个RECOVERED_FILES文件夹.进去之后发现wwwroot的文件已经恢复.
这是最简单的方法.之前使用ext3grep恢复浪费了大量的时间去查找Inode,结果毛都没恢复出来一根
接着需要恢复/usr/local/下面的文件.这里比较麻烦.老机器是LVM逻辑卷,不能直接挂载.所以比较麻烦
首先将老机器的硬盘卸载掉.重新开通一台新的VPS,系统不要与老的一样(老的是centos5 32bit,新的我开通为centos 6 64bit)
之后将硬盘挂载到新的VPS中.
之后登陆上新的VPS,扫描卷:
[root@MyCloudServer ~]# vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 Found volume group "vg_have" using metadata type lvm2 [root@MyCloudServer ~]#
激活卷
[root@MyCloudServer home]# vgchange --available y VolGroup00 2 logical volume(s) in volume group "VolGroup00" now active [root@MyCloudServer home]#
开始扫描文件:
extundelete /dev/VolGroup00/LogVol00 --restore-all
不过遗憾的是,数据库没办法恢复回来.可能是因为AMH编译的缘故.已经覆盖掉的文件,所以无法找回了..
在此提醒各位.注意备份好自己的数据库.详情参见:每日备份mysql到网站目录
xtundelete /dev/partition --restore-all //恢复磁盘所有文件 extundelete /dev/partition --restore-directory /backup/gnutool-delete //恢复单个目录 extundelete /dev/partition --restore-files /etc/passwd //恢复单个文件
PS:文章属于原创,转载请注明出处.