By tort ( 29 3 月, 2017 at 下午 5:45) · Filed under Linux分享
HostMonster主机提供免费SSH,通过SSH导入/导出MySQL数据库还是比较方便的,具体步骤如下:
1. HostMonster主机导出MySQL数据库
下面的例子显示怎样导出一个MySQL数据库,经常将数据导出做个备份还是必要的,在命令行的操作步骤如下:
(1). mysqldump -u username -p database_name > FILE.sql
(2). 回车
(3). 提示输入密码
(4). 输入密码,回车.
其中username, password 和 database_name 就是MySQL数据库的用户名、密码 和 数据库名。文件FILE.sql就是HostMonster主机上MySQL数据库的备份,现在可以下载到本地来保存。
2. HostMonster主机导入MySQL数据库
上传MySQL数据库备份文件(比如上面导出的文件FILE.sql)到HostMonster服务器上,然后执行如下命令:
(1). mysql -u username -p database_name < FILE.sql
(2). 回车
(3). 提示输入密码
(4). 输入用户名对应的密码,回车.
Permalink
By tort ( 27 12 月, 2016 at 上午 11:11) · Filed under Linux分享
wget http://www.kscub.com/share/mhash-0.9.9.9.tar.gz
wget http://www.kscub.com/share/libmcrypt-2.5.8.tar.gz
解决方法:
一、先查看一下php-fpm的启动情况:(到底是不是这个问题造成的)
1 2 3 4 5 6 7 8 | [root@localhost ~]
/www/wdlinux/init .d /php-fpm
/www/wdlinux/nginx_php-5 .2.17 /sbin/php-fpm
[root@localhost ~]
Starting php_fpm /www/wdlinux/nginx_php-5 .2.17 /bin/php-cgi :
error while loading shared libraries:
libmhash.so.2: cannot open shared object file : No such file or directory failed
|
二、下载mhash包:
wget http://www.kscub.com/share/mhash-0.9.9.9.tar.gz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [root@localhost ~]
mhash-0.9.9.9. tar .gz
[root@localhost ~]
[root@localhost ~]
[root@localhost mhash-0.9.9.9]
[root@localhost mhash-0.9.9.9]
[root@localhost mhash-0.9.9.9]
[root@localhost mhash-0.9.9.9]
[root@localhost mhash-0.9.9.9]
/usr/lib/
[root@localhost mhash-0.9.9.9]
[root@localhost mhash-0.9.9.9]
Starting php_fpm /www/wdlinux/nginx_php-5 .2.17 /bin/php-cgi :
error while loading shared libraries:
libmcrypt.so.4: cannot open shared object file : No such file or directory
|
三、下载mcrypt包:
wget http://www.kscub.com/share/libmcrypt-2.5.8.tar.gz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [root@localhost ~]
libmcrypt-2.5.8. tar .gz
[root@localhost ~]
[root@localhost ~]
[root@localhost libmcrypt-2.5.8]
[root@localhost libmcrypt-2.5.8]
[root@localhost libmcrypt-2.5.8]
[root@localhost libmcrypt-2.5.8]
[root@localhost libmcrypt-2.5.8]
Starting php_fpm don
[root@localhost libmcrypt-2.5.8]
|
Permalink
By tort ( 14 12 月, 2016 at 下午 5:53) · Filed under Linux分享
小工具从v3.0.1版本开始提供
修改/重置后台用户的密码
/www/wdlinux/wdcp/shell/wdcploginchp.sh
适用于忘记了admin用户密码时可操作
修改/重置mysql的root用户密码
/www/wdlinux/wdcp/shell/mysqlrootchp.sh
适用于忘记了mysql的root用户密码时可操作
ftp用户密码检查
/www/wdlinux/wdcp/shell/pureftpconfcheck.sh
适用于FTP用户登录不了或是登录503时可操作
重置wdcp后台的登录限制
/www/wdlinux/wdcp/shell/wdcplogincip.sh
适用于在wdcp后台上设置IP/域名访问限制时设置错误时可操作
Permalink
By tort ( 28 11 月, 2016 at 上午 10:52) · Filed under Linux分享
强制修改mysql的root密码,在忘记mysql密码时有用
sh /www/wdlinux/tools/mysql_root_chg.sh
ftp配置文件检查,在FTP不能连接或登录时有用
sh /www/wdlinux/tools/pureftp_conf_check.sh
wdcp权限检查,在wdcp后台不正常或部分功能无法使用时有用
sh /www/wdlinux/tools/wdcp_perm_check.sh
wdcp数据库无法连接的修复,如登录后台提示”无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确”
sh /www/wdlinux/tools/mysql_wdcp_chg.sh
wdcp后台登录密码忘记的修改方法
sh /www/wdlinux/tools/wdcp_login_chp.sh
wdcp后台限制登录IP设置错误的修复方法
sh /www/wdlinux/tools/wdcp_login_cbip.sh
wdcp后台限制登录错误次数的修复方法
sh /www/wdlinux/tools/wdcp_cdip.sh
修改时间和同步时间的方法
sh /www/wdlinux/tools/wdcp_ntp.sh
Permalink
By tort ( 11 3 月, 2016 at 下午 10:34) · Filed under Linux分享
Linux挂载ftp服务器,需要用到一个名为fuse-curlftpfs的包。正常情况下无法通过yum的方式获取此包,因此需要先安装DAG repository
Centos5 64位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
Centos5 32位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
Centos6 64位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Centos6 32位 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
然后是安装下载的rpm包
rpm -ivh rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
然后就可以通过yum的方式安装fuse-curlftpfs了
yum install fuse-curlftpfs -y
在Centos6上执行此命令,可能会遇到 Requires: libcurl.so.3 的错误,解决方法:编辑 /etc/yum.repos.d/rpmforge.repo 文件,把 [rpmforge-extras] 项打开,再执行 yum clean all 即可。
接下来就可以挂载ftp了
写法1:curlftpfs ftp://用户名:密码@ftp地址 挂载点 -o codepage=utf8
写法2:curlftpfs ftp://ftp地址 挂载点 -o user=”用户名:密码”
注意:如果提示“fuse: failed to open /dev/fuse: Operation not permitted”,说明你是在使用OpenVZ技术的Linux VPS的,因为OpenVZ技术的缺陷性(所有小鸡共用母鸡的内核)导致无法使用curlftpfs命令,请在Xen或者vmware技术中使用。
开机自动挂载
echo “curlftpfs#用户名:密码@ftp地址 挂载点 fuse rw,allow_other,uid=0,gid=0 0 0” >> /etc/fstab
Permalink
By tort ( 11 3 月, 2016 at 上午 10:35) · Filed under Linux分享
一、最简单的方法: wget
下面的命令用来下载ftp服务器上指定目录的所有文件
[html] view plain copy print?
wget ftp://IP:PORT/* –ftp-user=xxx –ftp-password=xxx -r
-r 参数表示递归下载;
可以使用–directory-prefix=/mypath/ 指定下载后存储路径;-nH选项可以不在本地创建服务器上的目录结构
另一个令人迷惑的选项是–delete-after,它并不是用来删除服务器上的已下载文件,而是用来删除本机的;
wget之所以是wget而不是wput,它只能进行下载操作,不支持对ftp服务器上的任何写操作,比如删除。
二、可以删除文件的方法:lftp
项目需求是下载ftp服务器上的指定文件夹取内的所有文件,并于下载后删除,wget不能满足要求,于是改写出下面的脚本。
mget命令可以下载多个文件,-E参数表示下载后删除服务器上的文件。
[python] view plain copy print?
#!/bin/bash
#指定ftp服务器的ip
serverip=1.2.3.4
#指定ftp服务器的ftp用户
serveruser=root
#指定ftp服务器的ftp用户密码
serverpass=123456
#指定client主机本地下载文件存放的目录
localdir=./data
logfile=../log/ftp_download.log
#指定server主机的ftp目录
remotedir=./
#指定server主机的主机名
host=test_host
#切换到本地下载文件存放的目录
cd $localdir
#输入开始备份的信息
echo “Starting FTP Download on ” $host
#连接ftp服务器
/usr/bin/lftp << EOF
open $serverip
user $serveruser $serverpass
#切换到server主机的ftp目录
echo "cd " $remotedir
cd $remotedir
#列出ftp服务器ftp目录中文件列表并存放到client中的$localdir中
ls . >> $logfile
#下载ftp服务器ftp目录中的所有文件
mget -E *.txt
#退出ftp服务器
bye
三、其他方法
系统中的ftp命令,和强大的curl。
curl支持FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET 和TFTP,方便在自己的程序中调用。同时支持cookie、代理、密码和证书验证。非常强大。
Permalink
By tort ( 27 12 月, 2015 at 下午 5:47) · Filed under Linux分享
硬盘是比较容易坏掉的设备,使用一段时间后可能会出现坏道等物理故障。当硬盘出现坏道后,若不及时更换或者进行技术上的处理,磁盘的坏道就会越来越多,并会造成频繁死机和数据丢失。最好的处理方法是更换新的磁盘。在临时的情况下,我们应及时屏蔽坏道部分的扇区,不要触动它们。
badblocks是一个检查磁盘是否有坏道的工具,可以以读的方式检查,也可以以写的方式检查。
这里,我使用
badblocks -v /dev/sda
检查是否有坏道,检查结果未出错
badblocks的参数选项
-b blocksize
指定磁盘的区块大小,单位为字节,默认值为“block 4K ”(4K/block)
-c blocksize
每个区块检查的次数,默认是16次
-f
强制在一个已经挂载的设备上执行读写或非破坏性的写测试操作
(我们建议先umount设备,然后再进行坏道检测。仅当/etc/mtab出现误报设备挂载错误的时候可以使用该选项)
-i file
跳过已经显示在file文件中的坏道,而不进行检测(可以避免重复检测)
-o file
把检测结果输出到file文件
-p number
重复搜寻设备,直到在指定通过次数内都没有找到新的坏块位置,默认次数为0
-s
在检查时显示进度
-t pattern
通过按指定的模式读写来检测区块。你可以指定一个0到ULONG_MAX-1的十进制正值,或使用random(随机)。
如果你指定多个模式,badblocks将使用第一个模式检测所有的区块,然后再使用下一个模式检测所有的区块。
Read-only方式仅接受一个模式,它不能接受random模式的。
-v
执行时显示详细的信息
-w
对每个区块都先写入,然后再从它读取信息
[device]
指定要检查的磁盘装置。
[last-block]
指定磁盘装置的区块总数。
[start-block]
指定要从哪个区块开始检查
Permalink
By tort ( 14 12 月, 2015 at 下午 12:15) · Filed under Linux分享
在内网,从一台服务器传mysql的源码安装包到另外一台服务器时,发生如下的错误:
[root@localhost ~]# scp mysql-5.1.55.tar.gz root@192.168.3.22:.
root@192.168.3.22’s password:
bash: scp: command not found
lost connection
提示scp的命令找不到,但是查找发现命令是存在的
[root@localhost ~]# whereis scp
scp: /usr/bin/scp /usr/share/man/man1/scp.1.gz
[root@localhost ~]# find / -name scp
/usr/bin/scp
是因为没有加入到环境变量的原因?
evn查看,已经加入了环境变量了
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
而且带上全路径,执行的时候还是报相同的错误
[root@localhost ~]# /usr/bin/scp mysql-5.1.55.tar.gz root@192.168.3.22:.
root@192.168.3.22’s password:
bash: scp: command not found
lost connection
查看scp所依赖的包
[root@localhost ~]# rpm -qf /usr/bin/scp
openssh-clients-5.3p1-81.el6.i686
怀疑会不会是有其他的依赖包没有安装上,重新安装一遍
[root@localhost ~]# yum install openssh-clients*
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* epel: mirrors.ustc.edu.cn
* extras: centos.ustc.edu.cn
* updates: centos.ustc.edu.cn
Setting up Install Process
package openssh-clients-5.3p1-81.el6.i686 already installed and latest version
Nothing to do
提示已经安装了,而且已经是最新的版本了
再测试的时候,还是出现同样的错误。纳尼,如果是命令不存在或者找不到,应该在scp命令敲出来之前就有问题啊,而不应该是成功敲完命令之后再出现这个问题。如果本地都没有问题,那是另一端服务器上没有安装scp的命令?
[root@com ~]# whereis scp
scp:
[root@com ~]#
果真是如此,所以是server端没有找到scp的命令,而不是本地
安装上scp的依赖包
[root@com ~]# yum install openssh-clients*
安装好之后,重新传输文件
[root@localhost ~]# scp mysql-5.1.55.tar.gz root@192.168.3.22:.
root@192.168.3.22’s password:
mysql-5.1.55.tar.gz
本文章
Permalink
By tort ( 7 11 月, 2015 at 下午 4:26) · Filed under Linux分享
1. Disable Firewalld Service.
[root@rhel-centos7-tejas-barot-linux ~]
2. Stop Firewalld Service.
[root@rhel-centos7-tejas-barot-linux ~]
3. Install iptables service related packages.
[root@rhel-centos7-tejas-barot-linux ~]
4. Make sure service starts at boot:
[root@rhel-centos7-tejas-barot-linux ~]
# If you do not want ip6tables, You can skip following command.
[root@rhel-centos7-tejas-barot-linux ~]
5. Now, Finally Let’s start the iptables services.
[root@rhel-centos7-tejas-barot-linux ~]
# If you do not want ip6tables, You can skip following command.
[root@rhel-centos7-tejas-barot-linux ~]
Firewalld Service is now disabled and stop, You can use iptables.
关闭 selinux
vi/etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled
Permalink
By tort ( 2 11 月, 2015 at 下午 2:35) · Filed under Linux分享
iftop有什么用?
iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。
安装iftop
安装方法1、编译安装
如果采用编译安装可以到iftop官网下载最新的源码包。
安装前需要已经安装好基本的编译所需的环境,比如make、gcc、autoconf等。安装iftop还需要安装libpcap和libcurses。
CentOS上安装所需依赖包:
yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel
Debian上安装所需依赖包:
apt-get install flex byacc libpcap0.8 libncurses5
下载iftop
wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
tar zxvf iftop-0.17.tar.gz
cd iftop-0.17
./configure
make && make install
Permalink
By tort ( 2 11 月, 2015 at 下午 2:34) · Filed under Linux分享
http://ftp.colocall.net/pub/elrepo/elrepo/el6/x86_64/RPMS/
Permalink
By tort ( 21 10 月, 2015 at 下午 4:00) · Filed under Linux分享
什么是 inode ?
文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
如何查看系统的 innode 占用情况
df -ih
如何查找那个目录下文件最多
首先切到根目录 /
cd /
然后执行
for i in /*; do echo $i; find $i | wc -l; done
或者
for i in `ls -1A | grep -v "\.\./" | grep -v "\./"`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -10
这样会依次返回/
目录下文件最多的目录,进入这个目录,再执行上述命令,就这样层层深入最终确定是那个目录文件最多
如何删除那个目录的的所有文件
一般情况下,如果这个目录下应该会有数以百万的文件,如果你直接用 rm -rf 目录名
的话效率会很低,可以用下面方法
find 目录 -type f -name '*' -print0 | xargs -0 rm
时间可能会比较久,所以你最好开一个 screen 来处理
有可能是你遇到了下面的情况
/var/spool/postfix/maildrop 下面有很多文件
为了避免,可以执行 crontab -e
在最开头添加 MAILTO='"'
保存,然后 server crond restart
重启 crond
Permalink
By tort ( 21 10 月, 2015 at 上午 9:49) · Filed under Linux分享
1、用df 检查发现/根目录可用空间为0
[root@/]#df -h
2、用du检查发现各目录占用的空间都很少,有约3G的空间莫名其妙地丢了。
[root@/]# du -m –max-depth=1 |sort -gr
3、用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象
[root@/]# lsof |grep delete
根据lsof列出的进程号,kill这些进程后,空间就释放出来了
Permalink
By tort ( 4 10 月, 2015 at 下午 11:04) · Filed under Linux分享
在安装完毕linux,默认的情况下ssh是开放的,容易受到黑客攻击,简单,有效的操作之一就是修改默认端口号
如下列,我们把22修改我2501
就是修改/etc/ssh/sshd_config //注意,容易和ssh_config相混合
步骤一
[root@localhost ssh]# more sshd_config
# $OpenBSD: sshd_config,v 1.69 2004/05/23 23:59:53 dtucker Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22 //先把22注释掉
port 2501 //添加一个新的端口
#Protocol 2,1
步骤二
[root@localhost ~]# service sshd restart
Stopping sshd:[ OK ]
Starting sshd:[ OK ]
步骤三
用SecureCRT测试
Permalink
By tort ( 4 10 月, 2015 at 下午 11:03) · Filed under Linux分享
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
添加好之后防火墙规则如下所示:
######################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
#####################################
/etc/init.d/iptables restart
#最后重启防火墙使配置生效
Permalink