存档

作者存档

windwos server 2003 做好了群集,但是使用不了大于2TB 的磁盘分区如何解决

2015年9月18日 没有评论

使用ibm磁盘阵列柜分出来个6tb的硬盘,映射到win2003时。发现个问题。这个分区自动变成一个2tb和一个3.58tb的奇怪分区。查了后才知道默认win2003的32位系统只支持到2tb硬盘分区。所以只能自动认到2tb。查询资料得出以下解决办法。

首先必须先打一下KB919117做集群使用的补丁。高可用支持GPT分区,支持高达10T一分区。
Windows 2003做群集时,不支持仲裁盘和共享盘为GPT磁盘,安装KB919117就可以支持GPT磁盘,和大于2T的共享盘。安装补丁后必须重启!

方法如下:
打开DOS 命令行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
C:\>diskpart
 
Microsoft DiskPart Copyright (C) 1999-2001 Microsoft Corporation.
On computer: NODE1
 
DISKPART> list disk
 
  磁盘 ###  状态        大小     可用     动态 Gpt
  --------  ----------  -------  -------  ---  ---
  磁盘 0    联机         136 GB      0 B
  磁盘 1    联机         494 MB      0 B
  磁盘 2    联机        5587 GB  2048 GB
 
DISKPART> select disk 2
 
磁盘 2 现在是所选磁盘。
 
DISKPART> convert gpt
 
DiskPart 已将所选磁盘成功地转换成 GPT 格式。
 
DISKPART>

完成后,建议重启服务器。就可以认到正确的分区,如图所示:

分类: Windows, 解决方案 标签:

一段代码让wordpress博客自动添加关键词(keywords)及网页描述(description)

2015年9月17日 没有评论

让wordpress博客自动为每篇文章自动关键字及网页描述。每篇文章的内容不同,我们该如何让wordpress自动添加文章描述和关键词呢?办法很简单,我们只需要在模板头部添加如下一段PHP代码。
今天桃子empress在博客留言板中说:“怎么在sinaapp engine 使用的的wordpress添加关键词和描述!”其实笔者之前接触过sinaapp,但是没深入过,既然是wordpress博客,应该是一样的办法!
sinaapp好像不支持FTP。那没关系,你直接在后台管理中找到主题–编辑–header.php。
打开你的模板文件header.php,在最前面添加如下PHP代码: (也可以不用在最前面,懂PHP代码可以随意摆放适宜的位置,,不懂的话就先遵照这样做吧!)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
//判断是否为首页
if ( is_home ())
{
$description = "这里填写博客首页的描述,最多220字符";
$keywords = "这里填写首页关键词,用英文逗号隔开";
//判断是否为文章页
}
else if ( is_single ())
{
if ( $post->post_excerpt)
{
$description = $post->post_excerpt;
} else {
$description = mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)
),0,220);
}
$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords.$tag->name.","; }
//判断是否为分类页
} else if ( is_category()) {
$description = category_description();
}
?>

添加完上面的代码,然后查找标签:

1
</title>

在后面加入

1
2
3
<meta name = "keywords" content="<?php echo $keywords; ?>" />
<meta name= "description" content="<?php echo $description; ?> "/ >
这两句代码位置也非绝对的,如果你不领会的话,就放在</title>标签后边就可以了!

好了,然后去刷新你的首页和其他文章页面吧,查看源代码。是不是就和上图一样了呢!
这样就为wordpress所有的文章加上关键字和网页描述了。如果你之前没有为文章添加标签的话,关键字是没有的哦!

分类: 编程实践 标签:

FreeNAS 介绍

2015年9月17日 没有评论

FreeNAS (读音 free·nas [free-næs]),是一款开源免费专门用于构建 NAS(Network Attached Storage) 服务器的专业操作系统。FreeNAS 可以轻松把一台普通的台式机变成存储服务器。它基于 FreeBSD 开发,在 BSD License 授权写一下发布,主要运行在 x86-64 架构的计算上。FreeNAS 支持 Windows,OS X 和 Unix 客户端,以及大量的虚拟化主机,例如 XenServer 和 VMware,支持 CIFS,AFP,NFS,iSCSI,SSH,rsync,WebDAV,以及 FTP/TFTP 等文件共享和传输协议。

FreeNAS 采用 ZFS 文件系统存储、管理和保护数据。ZFS 提供了诸如轻量级快照、压缩和重复数据删除等高级功能。可以快速的将数据增量备份到其他设备,带宽占用少,可有效帮助系统从故障中转移。

FreeNAS 项目历史可以追溯到 2005 年 10月,由 Olivier Cochard-Labbé 基于 m0n0wall 嵌入式防火墙和 FreeBSD 6.0 开发。2006 年 7月,Volker Theile 加入项目组,并在 2008 年 4 月成为项目领导者。2010 年,FreeNAS 项目正式被 iXsystems 公司收购,幸运的是,它并没有变成闭源的商业软件,依然开源免费,因为项目交由商业公司的技术团队全职维护,相比纯社区化开发的开源软件,FreeNAS 拥有了更强的技术后援。

FreeNAS 的特点

支持 CIFS,AFP,NFS,iSCSI,SSH,rsync,WebDAV,以及 FTP/TFTP 等文件共享和传输协议;
支持 Active Directory 和 LDAP 用于用户认证以及手动的用户和用户组创建;
支持 UFS2 卷创建和导入,包括 gmirror,gstripe 和 graid3(注意,FreeNAS 9.3 版本不再支持 UFS)
支持创建和导入 ZFS 存储池,以及许多 UFS2 不支持的功能如:存储限额,快照,数据压缩,重复数据删除,磁盘替换等;
支持通过第三方插件扩展功能;(BT下载transmission、云网盘owncloud、同步备份btsync、媒体中心plexmediaserver等)
双启动分区,升级过程将系统更新到非活动分区,可以从失败的更新中恢复;(注意,FreeNAS 9.3 版本为多启动分区,可以在多个系统版本之间回滚切换)
支持电子邮件系统通知;
基于 Django 开发的管理界面,通过浏览器管理;
支持安全的磁盘替换,自动 ZFS 快照,ZFS 垃圾清理,计划任务等均可在图形化界面中操作;
多语言支持(简体中文、繁体中文等20多种语言)
在图形化界面管理 SMART 监视器,UPS等;
支持 USB 3.0;
支持 Windows ACLs 和 UNIX 文件系统权限控制;
ZFS 定期快照可在 Windows 查看影子副本;
支持 tmux;
FreeNAS 支持的插件

Bacula 网络备份服务
BitTorrent Sync 点对点文件同步应用
CouchPotato 电影下载器
Crashplan 备份系统
CrucibleWDS Windows 交付解决方案
Firefly 媒体服务器
Gamez 电视游戏下载器
HTPC-Manager 图形化的 HTPC 软件管理器
LazyLibrarian 电子书下载器
Maraschino XBMC HTPC 网络接口
MediaBrowser 媒体服务器
MineOS Minecraft 服务器
Mylar 漫画下载器
Owncloud 私有云存储服务器
Plex 媒体服务器
s3cmd Amazon S3 备份工具
Sabnzbd 新闻阅读器
Sickbeard PVR for newsgroup usersSubsonic (media server)
Syncthing 文件同步工具
transmission BT客户端
XDM eXtendable 下载器
FreeNAS 常见应用场景

家庭、企业文件共享
为虚拟化服务提供后端存储
构建影音媒体中心和 DLNA 设备
FreeNAS 荣誉

VMware — “Ultimate Virtual Appliance Challenge, Consumer”
sourceforge.net — Project of the Month, January 2007
InfoWorld — 最佳开源存储
FreeNAS 最低配置要求

64-bit x86 处理器CPU
8GB 内存
8GB U盘一块
一块用做数据存储的硬盘
有线网卡(不支持无线网卡)
一台与 FreeNAS 处在同一局域网环境的电脑(通过浏览器管理 FreeNAS)

分类: 网络产品 标签: ,

各windows服务器OS内核表

2015年9月15日 没有评论

OS内核版本

=====================2008 R2 系列========================
1用户 2008 R2 标准版(Standard) [基于win 7 内核]
2用户 2008 R2 企业版(Enterprise) [基于win 7 内核]
3用户 2008 R2 数据中心(Datacenter) [基于win 7 内核]
4用户 2008 R2 WEB或HPC [基于win 7 内核]
=====================2012 R2 系列========================
5用户 2012 R2 标准版(Standard) [基于win 8.1 内核]
6用户 2012 R2 数据中心(Datacenter) [基于win 8.1 内核]
======================2008 系列=========================
7用户 2008 标准版(Standard) [基于win vista 内核](无 R2)
8用户 2008 企业版(Enterprise) [基于win vista 内核] (无 R2)
9用户 2008 数据中心(Datacenter) [基于win vista 内核] (无 R2)
======================2012 系列=========================
10用户 2012 标准版(Standard) [基于win 8 内核] (无 R2)
11用户 2012 数据中心(Datacenter) [基于win 8 内核] (无 R2)

分类: Windows 标签:

windows 2012/win8 远程桌面重启和关机

2015年9月1日 没有评论

最近因项目原因,给一些客户安装了windows 2012,在配置时发现远程重启不知道在哪点了就。。。找了半天在远程重启找到半天。。。发现要按。。。ALT+F4才会跳出来。。。。坑爹的微软。哎,慢慢就会习惯吧。希望能帮到大家才是。

ps:同样此法适用于win8

分类: Windows 标签:

NAS对比磁盘阵列柜

2015年8月25日 没有评论

随着IT产品作为当前重要的信息工具大量的应用在我们日常生活、工作当中后,导致从个人到企业拥有电子数据成几何级增长,数据量的膨胀增长直接刺激各种形态的存储设备市场的蓬勃发展。近几年各存储设备生产厂商针对IT产品的消费大户之一的中小型企业对存储设备的需求研制生产出各式各样的存储设备,其中代表当前主流的两种存储设备NAS及磁盘阵列柜在各行各业得到大量的应用,近期在存储界针对NAS与磁盘阵列柜哪一种存储设备更适合在中小型企业当中应用成了他们的热门话题。事实又是如何呢?让我们一起来对这两种设备进行具体分析。

  一、NAS与磁盘阵列柜的概念介绍

  NAS 英文全称为Network Attached Storage,可译为网络附加存储,是一种专用网络数据存储\备份器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。NAS能够满足那些希望降低存储成本但又无法承受SAN昂贵价格的中小企业的需求,具有相当好的性价比。

  磁盘阵列柜

  磁盘阵列简称RAID(Redundant Arrays of Inexpensive Disks),有”价格便宜且多余的磁盘阵列”之意。其原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列主要针对硬盘,在容量及速度上,无法跟上CPU及内存的发展,提出改善方法。磁盘阵列是由很多便宜、容量较小、稳定性较高、速度较慢磁盘,组合成一个大型的磁盘组,利用个别磁盘提供数据所产生的加成效果来提升整个磁盘系统的效能。同时,在储存数据时,利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将故障硬盘内的数据,经计算后重新置入新硬盘中。而磁盘阵列柜就是装配了众多硬盘的外置的RAID

  二、NAS与磁盘阵列柜的特点比较:

  1)成本比较:

  磁盘阵列柜是一种很成熟的数据存储设备,对磁盘阵列应用的发展经历了纯软件、内置板卡和独立外设三个阶段,对现有的应用有两大类型:a、低成本的纯软件和内置板卡方式;b、高成本的独立外设方式。

  a、纯软件和内置板卡RAID成本较低,但占用主机资源,性能受限且难于优化,尤其是与应用系统没有解耦,当主机环境损毁时,若不能保证完全恢复配置,可能导致盘阵中的数据无法恢复。

  而NAS其本身就是一台独立的、外设的、功能强大的RAID,成本虽比纯软件和内置板卡方式略高,但不管从占用主机资源还是数据安全的角度来说,都是值得选择的。

  b、高成本的独立外设方式相对NAS而言,其成本差异就非常大,稳定性高磁盘阵列柜从几十万元到过百万元都有,磁盘阵列柜比较适合大型企业(集团)作为大、中型网络的中央存储、备份设备使用,NAS比较适合小型企业或个人工作室作为储存备份设备使用。

  2)设置和使用方便性比较:

  RAID 的设置和与服务器之间的配合需要对计算机网络非常熟悉的专业人员进行管理,但NAS的使用和操作界面(如加拿大著名存储设备生产厂商自由遁为开拓中国市场专门开发出带简体中文界面的控制管理软件,大大方便国内用户的使用习惯)都很容易,不需要专业性很强的人员就能很好地管理,因此网络日常管理的成本也有很大的差异;

  3)控制系统损坏后,恢复方式的比较:

  RAID卡损坏后,对该存储系统可以说是灾难性的,这时你需要将硬盘取出来,交给专业的数据恢复公司进行数据恢复。而NAS硬件损坏,你可以将硬盘安按原来的排列方式装到另一台同型号的NAS上,数据就可以正常使用。

  4)对操作系统的支持方面,磁盘阵列柜在异构平台的支持方面较弱,目前市面上大多数磁盘阵列柜产品通常仅仅只能支持一种操作系统,若企业内部存在两种操作系统时,如设计部门使用MAC的操作系统,而财务部门使用WINDOWS的操作系统,当发生这种状况磁盘阵列柜在存储两个部门的数据时较麻烦;而NAS在对于处理异构操作平台方面相对于磁盘阵列柜来说具有绝对的优势,因为它能支持当前绝大部分主流操作系统的同时在一种网络下的使用即你可以同时将WINDOW、 LINUX、MAC的数据存储在NAS里面,而不需要对相关的数据作特别的处理;

  5)数据备份功能方面,由于磁盘阵列柜一般采用台式机的CPU作为处理器,相对于NAS采用的嵌入式、低功耗的专用CPU来说,磁盘阵列柜在数据存储速度比NAS更快,而在数据备份方面,由于NAS采取的是专用的备份软件,数据备份采取的是更可靠、更精准的磁轨式的备份方式,这一点相对于磁盘阵列柜更具优势,同时由于NAS采取的是专门设计的备份软件,在功能方面相对于磁盘阵列柜采取的通用软件来说更为可靠,如自由遁NAS随机附带的备份软件具有易用、高效、可靠的特点;

  6)、从数据安全的角度来看,在正常的数据存储备份的状况下,两者均能达到较高的数据安全度,NAS是一台完全独立的设备,而磁盘阵列柜则是一台依赖服务器的设备。这意味着如果一旦服务器损坏,NAS中的数据依然可以通过其它计算机进行读取,而磁盘阵列柜中的数据则只可以在服务器修复以后才能读取。在数据安全的另一重点数据容灾方面,NAS由于不受地域的限制,更容易构建数据容灾系统,同时在灾后数据危机处理方面,NAS的应对能力更胜一筹,这也是为什么NAS在国外的中小型企业的数据容灾系统中得到大量应用的主要原因。

  三、NAS与磁盘阵列柜的适用场合

  1、磁盘阵列柜

  由于磁盘阵列柜具有数据存储速度快、存储容量大等优点,所以磁盘阵列柜通常比较适合在企业内部的中小型中央集群网存储区域进行海量数据存储;

  2、NAS

  由于NAS具有不受地域限制、高扩展性、低功耗、高度自动化、高可用性群集、数据备份安全精确等特点,因此NAS企业内部更适合用于重要部门如财务、人事、客户等部门的数据存储备份的场合因为这些部门的数据通常数据量不大但不宜公开,所以保密系数相对于其他部门来说更高,在数据容灾方面,也是NAS的一个重要施展的平台。

  四、小结

  通过以上对NAS与磁盘阵列柜的综合对比及应用场合的细分,相信各位对于NAS与磁盘阵列柜这两种在中小型企业中得到大量应用的存储设备会有一个清晰的认识,对于它们在企业内部的正式应用,笔者建议,可将两者结合在一起使用,这样可有效提升企业内外部的数据安全,如可将磁备阵列柜用于常规性大流量的数据存储,而将NAS用于重要部门的数据备份,也可将NAS采取异地放置的方式构成企业内部的数据容灾。

分类: 解决方案 标签: ,

Windows超强备份工具Robocopy备份方法使用详例

2015年8月24日 没有评论

Robocopy.exe 是微软在Windows server 2003 Resource Kit Tools里面提供的程序来做备份的Vista及win7开始,至Win2008以后都已经自带了。
  Microsoft Windows 中内置的传统的“复制和粘贴”功能有一些局限性。它在执行简单的任务(将一个文档从一个目录移动到另一个目录等)时处理得还好,但缺乏 IT 专业人员在工作场所所需的高级功能。例如,复制和粘贴操作不包括任何高级复原功能,所以不允许从短暂的网络中断后进行恢复。特别是当复制完整的目录时,它还是一个要么全有要么全无的问题。而使用 UI,您无法选择仅复制新文件还是复制更新过的文件。您可以复制单个的文件、整个目录或什么也不复制。
  启动 Robocopy,这个强大的工具包含在 Microsoft Windows Server 2003 Resource Kit Tools中,考虑到了上述所有高级功能以及更多功能。Robocopy 支持更多重要的文件复制任务,从而能够真正简化您的工作。我想您将发现最大的好处是,可以创建两个文件结构(可以根据您的选择包括所有子文件夹和文件)的完全的镜像副本而不复制任何不需要的文件。只复制源位置中的新文件或更新后的文件。Robocopy 还允许您保留所有相关文件信息,包括日期和时间戳、安全访问控制列表 (ACL) 及更多内容。

—————-【参数】——————-
robocopy /?
——————————————————————————-
ROBOCOPY :: Windows 的可靠文件复制
——————————————————————————-
启动时间: Fri May 08 17:10:13 2009
Usage :: ROBOCOPY source destination [file [file]…] [options]
源:: 源目录(驱动器:\路径或\\服务器\共享\路径)。
目录:: 目标目录(驱动器:\路径或\\服务器\共享\路径)。
文件:: 要复制的文件(名称/通配符: 默认为 “*.*”)。
::
:: 复制选项:
::
/S :: 复制子目录,但不复制空的子目录。
/E :: 复制子目录,包括空的子目录。
/LEV:n :: 仅复制源目录树的前 n 层。
/Z :: 在可重新启动模式下复制文件。
/B :: 在备份模式下复制文件。
/ZB :: 使用可重新启动模式;如果拒绝访问,请使用备份模式。
/EFSRAW :: 在 EFS RAW 模式下复制所有加密的文件。
/COPY:复制标记:: 要复制的文件内容(默认为 /COPY:DAT)。
(复制标记: D=数据,A=属性,T=时间戳)。
(S=安全=NTFS ACL,O=所有者信息,U=审核信息)。
/DCOPY:T :: 复制目录时间戳。
/SEC :: 复制具有安全性的文件(等同于 /COPY:DATS)。
/COPYALL :: 复制所有文件信息(等同于 /COPY:DATSOU)。
/NOCOPY :: 不复制任何文件信息(与 /PURGE 一起使用生效)。
/SECFIX :: 修复所有文件的文件安全性,即使是跳过的文件。
/TIMFIX :: 修复所有文件的文件时间,即使是跳过的文件。
/PURGE :: 删除源中不再存在的目标文件/目录。
/MIR :: 镜像目录树(等同于 /E 和 /PURGE)。
/MOV :: 移动文件(复制后从源中删除)。
/MOVE :: 移动文件和目录(复制后从源中删除)。
/A+:[RASHCNET] :: 将给定的属性添加到复制文件。
/A-:[RASHCNET] :: 从复制文件中删除给定的属性。
/CREATE :: 仅创建目录树和长度为零的文件。
/FAT :: 仅使用 8.3 FAT 文件名创建目标文件。
/256 :: 关闭超长路径(> 256 字符)支持。
/MON:n :: 监视源;发现多于 n 个更改时再次运行。
/MOT:m :: 监视源;如果更改,在 m 分钟时间内再次运行。
/RH:hhmm-hhmm :: 运行小时数 – 可以启动新副本的时间。
/PF :: 以每个文件(而不是每个步骤)为基础检查运行小时数。
/IPG:n :: 程序包间的间距(ms),以释放低速线路上的带宽。
/SL:: 对照目标复制符号链接。
::
:: 文件选择选项:
::
/A :: 仅复制具有存档属性集的文件。
/M :: 仅复制具有存档属性的文件并重置存档属性。
/IA:[RASHCNETO] :: 仅包含具有任意给定属性集的文件。
/XA:[RASHCNETO] :: 排除具有任意给定属性集的文件。
/XF 文件[文件]… :: 排除与给定名称/路径/通配符匹配的文件。
/XD 目录[目录]… :: 排除与给定名称/路径匹配的目录。
/XC :: 排除已更改的文件。
/XN :: 排除较新的文件。
/XO :: 排除较旧的文件。
/XX :: 排除多余的文件和目录。
/XL :: 排除孤立的文件和目录。
/IS :: 包含相同文件。
/IT :: 包含已调整的文件。
/MAX:n :: 最大的文件大小 – 排除大于 n 字节的文件。
/MIN:n :: 最小的文件大小 – 排除小于 n 字节的文件。
/MAXAGE:n :: 最长的文件存在时间 – 排除早于 n 天/日期的文件。
/MINAGE:n :: 最短的文件存在时间 – 排除晚于 n 天/日期的文件。
/MAXLAD:n :: 最大的最后访问日期 – 排除自 n 以来未使用的文件。
/MINLAD:n :: 最小的最后访问日期 – 排除自 n 以来使用的文件。
(If n < 1900 then n = n days, else n = YYYYMMDD date)。
/XJ :: 排除接合点。(默认情况下通常包括)。
/FFT :: 假设 FAT 文件时间(2 秒粒度)。
/DST :: 弥补 1 小时的 DST 时间差。
/XJD :: 排除目录的接合点。
/XJF :: 排除文件的接合点。
::
:: 重试选项:
::
/R:n :: 失败副本的重试次数: 默认为 1 百万。
/W:n :: 两次重试间的等待时间: 默认为 30 秒。
/REG :: 将注册表中的 /R:n 和 /W:n 保存为默认设置。
/TBD :: 等待定义共享名称(重试错误 67)。
::
:: 日志记录选项:
::
/L :: 仅列出 – 不复制、添加时间戳或删除任何文件。
/X :: 报告所有多余的文件,而不只是选中的文件。
/V :: 生成详细输出,同时显示跳过的文件。
/TS :: 在输出中包含源文件的时间戳。
/FP :: 在输出中包含文件的完整路径名称。
/BYTES :: 以字节打印大小。
/NS :: 无大小 – 不记录文件大小。
/NC :: 无类别 – 不记录文件类别。
/NFL :: 无文件列表 – 不记录文件名。
/NDL :: 无目录列表 – 不记录目录名称。
/NP :: 无进度 – 不显示已复制的百分比。
/ETA :: 显示复制文件的预期到达时间。
/LOG:文件:: 将状态输出到日志文件(覆盖现有日志)。
/LOG+:文件:: 将状态输出到日志文件(附加到现有日志中)。
/UNILOG:文件:: 以 UNICODE 方式将状态输出到日志文件(覆盖现有日志)。
/UNILOG+:文件:: 以 UNICODE 方式将状态输出到日志文件(附加到现有日志中)。
/TEE :: 输出到控制台窗口和日志文件。
/NJH :: 没有作业标头。
/NJS :: 没有作业摘要。
/UNICODE :: 以 UNICODE 方式输出状态。
::
:: 作业选项 :
::
/JOB:作业名称:: 从命名的作业文件中提取参数。
/SAVE:作业名称:: 将参数保存到命名的作业文件
/QUIT :: 处理命令行后退出(以查看参数)。
/NOSD :: 未指定源目录。
/NODD :: 未指定目标目录。
/IF :: 包含以下文件。
—————-【例子】——————-
实例一:文件,想怎么复制就怎么复制
  [实现效果]
  随时将源文件夹中的纯文本(TXT)、Word文档(DOC)还有BMP、TIF图像文件复制到目标文件夹中,这是在“资源管理器”中直接拖放所做不到的。
[简单命令]
robocopy d:\work e:\back *.txt *.doc *.bmp *.tif /s
  [参数讲解]
  将d:\work文件下的TXT、DOC、BMP、TIF复制到e:\back文件夹,其他文件则不复制。/s是表示包括除空文件下的所有子目录,如果没有则仅复制d:\work下的文件而不包括子目录。
  [举一反三]
  (1)如果要将文件夹下的所有文件包括空文件夹全部复制到目标文件夹,命令为:robocopy d:\work e:\back /e
  /e表示复制所有子目录包括空文件夹。
  (2)如果只想复制两个层级内的文件(再下的层级里的文件则不拷贝),输入命令:robocopy d:\work e:\back /e /lev:2
  /lev:2表示复制的层级,比如指定层级后d:\work\soft(二级)下的文件会被复制,而d:\work\soft\office(***)下的文件则不被复制。
实例二:垃圾文件不复制
  [实现效果]在备份数据时,不可避免会将类似于*.bak、*.tmp的垃圾文件也复制到目标文件夹,用Robocopy可以将我们经常碰到的垃圾文件在拷贝时就清理出家门,从而生成一个干干净净的文件夹。
  [简单命令]
  robocopy d:\work e:\back /e /xf *.tmp *.bak
  [参数讲解]
  /xf为指定不执行复制操作的文件类型,后面的文件名支持通配符。如果参数为/xd,则表示排除后面指定的文件夹。
  实例三:大文件 我不要
  [实现效果]
  复制的时候,为了节省时间,需要将一些大文件暂时不拷贝,等有空闲时间时,再执行复制操作不迟。
  [简单命令]
  robocopy d:\work e:\back /e /max:6000000
  [参数讲解]
  仅复制不大于6000000bytes的文件,/max:后直接接数值,数值单位为byte。如果是/min:1000,则复制不小于1000bytes的文件。两个参数可以同时使用,界定复制文件大小的范围。
  实例四:只要这一周修改的文件
  [实现效果]
  这一周处理了哪些文档?编辑了那些文件?将这些修改了的文档复制到一个文件夹下,再好好回味一下。本例就是要将d:\work中最近七天内新建或修改了的TXT、DOC、XLS、PPT等文档,复制到e:\look目录下。
  [简单命令]
  robocopy d:\work e:\look /s *.txt *.doc *.xls *.ppt /maxage:7
  [参数讲解]
  /maxage:表示最远修改时间的,修改时间比这个还要旧的文件将不会被复制。/maxage:后可接数字,也可以接日期,数字小于1900时表示天数,否则就得用YYYYMMDD来表示具体的日期如/maxage:20040210表示2004年2月10日后被修改的文件才允许复制。与之相对应的参数是/minage,表示最近修改时间,比这个时间新的文件将不被复制。
  [举一反三]
  robocopy d:\work e:\look /s *.txt *.doc *.xls *.ppt /maxage:7 /minage:1
  则表示近七天内除今天外修改的文件才允许被复制。
  与修改时间相对的还有最近访问时间,/maxage指最远访问时间,比这个时间老的文件将不被复制。/minage是指最近访问时间,比这个时间新的文件将不被复制。
  实例五:我的文档排排站
  [实现效果]
  上例中复制时,所有的文档都会带来本身的路径信息,文档是会将其所存放的文件夹也复制过来。这给我们的翻阅查看带来很多不便,得单击多层文件夹才能看到文件,能不能将所有的文档直接复制到一个文件夹下呢?这个需要用XXCOPY来实现。
 [简单命令] 
  xxcopy d:\work e:\look /s /in*.txt /in*.doc /sg /yy /da:2004-02-02 /DB:2004-02-10/DA:1997-01-01
  [参数讲解]
  此命令将d:\work中从2004年2月2日到2月10生成的 TXT、DOC文件全部直接复制到e:\look目录下,不新建子文件夹,打开e:\look就能看到所有文件。XXCOPY和Robocopy的语法参数还是有较大差异的,表示指定文件类型时,XXCOPY会用/in*.*,表示日期时/da为在指定时间后,/db为在指定时间前,日期的表示为 YYYY- MM-DD。
  另外,/sg表示复制文件到同一文件夹,/yy表示在所有要求用户应答的地方都自动认为是Yes,在执行过程中不需要用户干预。
  实例六:完全克隆
  [实现效果]
  我们一般采取的复制方式默认是增量复制,即根据文件的大小、修改时间将源文件夹里的内容向目标文件夹复制,久而久之,目标文件夹里就可能存在大量源件夹里早已经删除且无用的文件和文件夹。如果要让备份完全相同,即拷贝时删除在目标文件夹里存在但源文件夹里并没有的文件。
  [简单命令]
  robcopy d:\work e:\look /mir
  [参数讲解]
  /mir的作用等同于/purge /e,/purge表示清理目标文件夹有而源文件夹里没有的文件(夹)。通过这个命令,能保证源文件夹和目标文件夹结构与文件完全相同。这在创建镜像备份时,非常有用。
  实例七:移动文件
  [实现效果]
  我们前面讲的都是复制,如果我们要将文件夹移动到目标文件夹,如何操作呢?
  [简单命令]
  robocopy d:\work e:\look /move /e
  [参数讲解]
  其中,/move表示移动。
  实例八:我只要文件夹骨架
  [实现效果]
  笔者的工作需要周期性地新建和整理大量的文件夹,每次的文件夹结构一样,只是文件不尽相同。如果是以前,就得一个一个简单重复去制作,而现在就不需要了。Robocopy和XXCOPY可以让你轻松实现复制文件夹结构。
  [简单命令]
  xxcopy d:\work e:\mystruct /t /yy /dl3
  [参数讲解]
  将d:\work的三层文件夹结构复制到e:\mystruct中。其中/t表示创建文件夹结构,/dl3表示复制的文件夹结构为***,数字可以自行输入,如果没有此参数,默认建立整个文件夹结构。  Robocopy创建文件夹相对要麻烦一些,/create参数不仅要创建结构,还要创建文件夹下所有文件的0字节文件,并非真正的结构,我们只好剑走偏锋了。
  robocopy d:\work e:\mystruct /e /lev:3 /minage:19000101
  为Robocopy指定一个不可能创建文件的时间,因为有参数/e 的作用,虽然没有文件符合要求(你机器里没有早于1900年1月1日的文件),但Robocopy还是会忠实地创建文件夹,这样就达到了生成文件夹结构的目的。另外,/lev:3表示复制文件夹的层级,同样可以自行输入。
  实例九:隐藏文件我不要
  [实现效果]
  在默认状态下,隐藏文件是并不显示的,但在复制的过程中,它还会随着文件夹一起被复制。可不可以将这些隐藏文件排除在复制范围之外呢?
  [简单命令]
  robocopy d:\work e:\back /e /xa:h
  [参数讲解]
  Robocopy支持对属性进行操作。上面的命令将复制源文件夹中全部文件,但全部具有隐藏属性的文件将不会被复制。/xa:h,表示将具有隐藏属性的排除出复制范围,与之相对应的是/ia,表示包括只对拥有指定属性的执行操作。属性有R:只读,A:存档,S:系统,H:隐藏等几种供选择。
  [举一反三]
  (1)此外,Robocopy还有/a+、/a-等参数对文件属性进行操作,分别表示在文件被拷贝后为文件添加、去除某属性。
  robocopy d:\work e:\back /ia:rs  
  表示只复制具有只读和系统属性的文件。
  (2)robocopy c: d: /-a:rsh
  表示将文件拷贝到D盘后,将拷贝生成的文件的只读、系统、隐藏属性去掉,以方便查看和修改。
  实例十:NTFS权限跟着走
  [实现效果]
  在使用Windows 2000、Windows XP时,在多用户使用一台电脑时或管理服务器时,经常要为文件夹指定用户访问和修改的权限(如图1,需要分区为NTFS)。不过,用一般的复制方式无法保留我们设置的权限,这在服务器备份时意味着我们得重新设置用户权限。不过,Robocopy可以让我们在复制文件的时候,将属性、用户权限、所有者都可以一并复制到目标文件夹中。

备份双友邻精彩5例-Robocopy和xxcopy全掌握
  [简单命令]
  robocopy d:\work e:\back /e /copyall
  [参数讲解]
  /copyall等于/copy:datsou,表示将所有源文件夹的信息复制到目标文件夹中,其中D:文件数据,A:文件属性,T:时间信息,S:权限信息,O:所有者信息,U:审核信息。
  [举一反三]
  如果源文件夹的权限被修改,需要同样更新目标文件夹的权限时,我们不必再重复复制,只需输入robocopy d:\work e:\back /is /copy:sou  如果没有/copy参数,默认为/copy:dat,没有后面三项的信息。
  实例十一:集中备份到文件服务器
  [实现效果]
  希望每天能够把相应数据备份到文件服务器上,以免数据丢失。
  [简单命令]
  robocopy d:\work \ctips_serverarticlesshare /e /copyall
  [参数讲解]
  从中可以看出,robocopy完全支持文件服务器共享文件夹数据的拷贝。
  [举一反三]
  (1)如果我们创建了一个环境变量,如定义%databack%为\ctips_serverarticles\back,那只要输入相应的命令:robocopy d:\work %databack% /e /copyall 即可把d:\work下的文件全部备份到\ctips_serverarticles\back下。当然,如果 \ctips_serverarticles\back空间不够时,只要更换环境变量的值到其他文件夹,如\ctips_serverarticles ewback,上述命令无需更改就可以反数据拷贝到新的文件夹中。
  (2)如果你只想把数据备份到共享文件夹中以你的机器名为名字的共享文件夹中,使用xxcopy会更方便:xxcopy d:\work \ctips_serverarticles/$HOST$ /e /yy 其中/$HOST$表示你的机器名,如你的机器名为CTIPS_SYJ,那会把d:\work 文件夹下的文件拷贝到\ctips_serverarticles\CTIPS_SYJ文件夹下。如果你的机器名为CTIPS_MLB,那执行上述命令后就可以把d:\work 文件夹下的文件拷贝到\ctips_serverarticles\CTIPS_MLB文件夹下。由于同局域网内的机器名字不会相同,执行上述命令后就可以保证数据不会被拷贝到同一文件夹下。
  实例十二:一动就备份
  [实现效果]
  有些工作内容非常重要,需要时时刻刻注意备份,可是我们哪里有这么好记性和耐性呢?这事,还是交给 Robocopy来做吧。Robocopy能时时监视要备份的文件夹,只要文件夹修改到一定时间和程序,Robocopy就会立即开始备份。它会一直监视文件夹,除非用户自己终止。
  [简单命令]
  robocopy d:\work e:\back /e /copyall /mot:1 /mon:2
  [参数讲解]
  上述命令表示复制文件夹所有信息到目标文件夹并进行监视。执行此命令后,命令提示符窗口如图2所示。一旦时间过了一分钟,并且源文件夹至少有或2处以上的修改,Robocopy就会自动启动另一个进程,执行上述备份操作。Robocopy能监视源文件夹结构、文件和文件夹名称、大小、最后修改时间,在这里,甚至连属性和权限等信息被修改时,Robocopy也会记为修改次数。备份双友邻精彩5例-Robocopy和xxcopy全掌握
   /mot后接的是时间(分钟),是指Robocopy执行操作的最短时间;/mon后接的是最少文件修改个数。在监视过程中,会自动记录时间和修改的次数,只有同时符合以上两个条件时,Robocopy才开始执行,执行完成后,这两个数据会自动清零,并重新开始监视文件夹,除非用户关闭命令提示符窗口或按下Ctrl+Break键。
  [举一反三]
  如果你要开机就监视并备份相应文件夹,则可以把上述命令放到“启动”组中。
  实例十三:不到时间不备份
  [实现效果]
  复制的过程总会占用系统资源,如果能设置在自己不在电脑边上的时候开始复制备份,就会方便得多。比如,每天5:50下班,希望下班后,到达6点时,Robocopy自动开始备份相应数据。
  [简单命令]
  robocopy d:\work e:\back /e /rh:1800-1830
  [举一反三]
  运行后,复制操作将会等待至指定时间开始(如图3)。其中,RH格式为/RH:hhmm-hhmm,指定Robocopy开始的时间段,在这个时间段外,拷贝会被暂停。时间为24小时格式,4个数字长,从0000到2359,而且两个数字不能相同。备份双友邻精彩5例-Robocopy和xxcopy 全掌握
  实例十四:计划任务备份
  以上的到时间备份、监视文件夹备份方式,每次重启系统会都会要重新执行以上命令,还远远不够智能,如果能和Windows的计划任务配合,所有问题就迎刃而解了。以我们要在每天10:00自动调用Robocopy开始监视备份文件夹为例,说一说计划任务与Robocopy的携手。
  第一步:新建BAT文件新建一个批处理文件autobak.bat,输入如下命令robocopy d:\work e:\back /e /copyall /mot:1 /mon:2
  第二步:创建计划任务选择“开始→设置→控制面板”,双击“任务计划”图标。把autobak.bat批处理文件拖放到“任务计划”窗口,然后双击新生成的autobak.bat图标,在弹出窗口中设置其属性。
  第三步:设置开始时间切换到“日程安排”标签,单击“任务计划”下拉列表框,从中选择“每天”,“开始时间”设置为10:00,单击“高级”可以设置起止的日期(如图4)。
  通过上述设置后,到了设置的时间,机器就会自动备份执行批处理文件,自动备份并监视文件夹。备份双友邻精彩5例-Robocopy和xxcopy全掌握
  实例十五:清理文件也拿手
  除了一般的复制功能,XXCOPY还有文件清理功能,可以将不需要的文件快速清理出硬盘。以下命令会清除文件和文件夹,请先建立测试文件夹掌握其操作后再对文件夹进行操作。
1.清除所有无用文件
xxcopy d:\work*.tmp /s /h /yy /rs
/rs表示不复制而直接从源文件夹中删除指定文件,/h表示指定隐藏和系统文件。
2.清除文件夹
xxcopy c: emp /rmdir /db:2002-01-01 /yy
删除c: emp中在2002年1月1日前的修改的文件夹。
3.删除空文件夹
xxcopy c: emp /rmdir /sz:0 /yy
删除c: emp下所有空文件夹,/sz:0指定大小为0的文件(夹)。
4.删除0字节文件
xxcopy c: emp*.* /sz:0 /s /h /yy /rs
通过以上四种方式的组合,我们可以轻松实现对文件及文件夹的整理工作。
最后,还有一几个小技巧告诉你,希望能有利于你更好地使用XXCOPY和Robocopy。
★将命令变成任务在Robocopy加上“/save:任务名”可以将当前操作记录为任务文件,通过“/job:任务名”就可以方便调用,不需要再输入一长串的命令了。此任务文件可以用纯文本编辑器(如记事本)来编辑。
★将复制备份过程录下来默认情况下,Robocopy的操作过程只是在命令提示符中显示,我们可以让它把操作过程输出为TXT文件,加上“/log:文件名.txt”即可。

/s是表示包括除空文件下的所有子目录.
/e表示复制所有子目录包括空文件夹。
/xf为指定不执行复制操作的文件类型,后面的文件名支持通配符。
如果参数为/xd,则表示排除后面指定的文件夹。
仅复制不大于6000000bytes的文件,/max:后直接接数值,数值单位为byte。如果是/min:1000,则复制不小于1000bytes的文件。两个参数可以同时使用,界定复制文件大小的范围。
/mir的作用等同于/purge /e,/purge表示清理目标文件夹有而源文件夹里没有的文件(夹)。
/xa:h,表示将具有隐藏属性的排除出复制范围,与之相对应的是/ia,表示包括只对拥有指定属性的执行操作。属性有R:只读,A:存档,S:系统,H:隐藏等几种供选择。
/copyall等于/copy:datsou,表示将所有源文件夹的信息复制到目标文件夹中,其中D:文件数据,A:文件属性,T:时间信息,S:权限信息,O:所有者信息,U:审核信息。

Windows Server 2012 显示在桌面显示计算机图标

2015年8月11日 没有评论

打开Windows PowerShell(一个像是命令提示符的东西[蓝底白字],但不是命令提示符), 在Windows PowerShell内输入cmd回车,当返回如下信息: Microsoft Windows [版本 6.2.9200] (c) 2012 Microsoft Corporation。保留所有权利。 则表示已成功进入命令行环境,然后再输入: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 回车后,勾选所需要的桌面图标的名称,确定即可。

以上是网络上广为流传的方式 ,不过我在win2012r2下并没有成功。提示出错。按以上的命令行办法其实只能在运行用跑。具体办法:

光标移到右下角出现设置之类的直接搜出 “运行” 然后打开运行后。再行输入运行rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

这样才可以把个性化调出来。

美国服务器丢包率比较高是什么原因分析

2015年8月10日 没有评论

美国服务器虽然与中国相隔比较远,但是美国服务器通常都是通过海底光缆与中国电信和中国网通直接相连,具有很高的稳定性,通常访问ping值在180ms到220ms之间,并且丢包率维持在5%以下,如美国服务器出现丢包率比较高时,可能是受到外界干扰因素而造成的,下面我们就详细分析一下美国服务器丢包率比较高是什么原因。

美国服务器丢包率比较高是什么原因
  一.人为因素的干扰
  由于美国服务器是与电信或者网通直接相连,因而在宽带国际出口处可能会受到人为性的干扰而导致美国服务器丢包率非常高,如果是这种情况,几乎所有美国服务器都会出现高丢包率的现象。

  如何检测是否受人为因素干扰
  1.通过咨询其他美国服务器租用商或许寻找相关的新闻,了解一下是否其他服务商的美国服务器是a否也出现高丢包率的现象。

  2.美国服务器出现高丢包率时,可能也会出现ping值不正常的情况,你可以到一些例如17ce等常用测速网站,用全球的服务器来对你的美国服务器IP进行测速,如果除开中国节点外,其他地区的ping值都正常,就说明宽带国际出口受到干扰。

  二.服务器受到攻击
  如果服务器被高流量型的DDoS攻击时,服务器资源了,带宽资源都会被占用而出现高频率丢包现象。通产高防服务器不会出现这种情况,因为高防服务器机房具有充足的带宽资源,并且能够对攻击流量进行有效识别,如果流量的攻击超过机房的保护范围时,美国服务器服务商通知用户并做出高防处理。

  三.共享带宽可能会出现这种情况
  如果用户选择的是共享代理的美国服务器,在网络带宽出现峰值时,就可能会出现高丢包率的现象,因而在租用美国服务器时尽量选择独享带宽,而共享带宽就必须要根据用户对网络业务的带宽需求来定。

  以上就是美国服务器丢包率比较高是什么原因的相关介绍,这几点是美国服务器出现高丢包率的最常见因素,当然监测出现高丢包率还与本地电脑是否中毒,监测时是否在下载东西等有关因而我们需要从多个方面进行考虑,然后在找服务商协助解决。

Squid代理服务器应用案例 多出口多用户认证上网(转)

2015年8月9日 没有评论

最近帮朋友接了个小项目,客户在他们的美国机房租了几台服务器,然后想在上面做上网用的代理服务器,供客户在国内使用。具体需求如下:

1、客户的这台服务器具有多个出口ip地址

2、客户希望使用认证的方式使用代理服务器上网

3、客户希望通过不同的认证用户实现从不同的出口ip访问网络

4、隐藏代理信息,隐藏真实上网ip

此客户需求相当明确,根据上面罗列,条理也很清晰。本文的目的就是向大家介绍笔者实现这个需求的思路和步骤。

作者简介:刘晗昭,网名蚊子(博客),某通信业国企系统工程师,熟悉各种主流开源软件的使用,部署和组合应用,以及主流网站架构。目前关注系统架构和系统优化。

笔者使用了Squid来实现这一需求。Squid是一种在Linux系统下使用的优秀的代理服务器软件,还可以用在AIX、Digital Unix、FreeBSD、HP-UX、Irix、NetBSD、Nextstep、SCO和Solaris等系统上。更多关于squid的介绍就不在这里多讲了,有需要的去官方网站上看吧,51CTO也有这方面的专题。

这里先看下我设计的逻辑图:

根据图中所示,红色的用户1会通过红色的出口ip1访问internet,绿色的用户2会通过绿色的出口ip2访问internet,用户3和用户4同样对应相应颜色的出口访问internet。

接下来根据上面的需求进行逐一的分解。

一、需求分析

1、服务器具有多个出口ip地址

这个没什么可说的,客户的出口ip为:

10.100.10.1
10.100.10.2
10.100.10.3
2、使用认证的方式使用代理服务器上网

这里要用到squid的认证功能。squid的认证功能大类包括basic_auth,digest_auth,external_acl,negotiate_auth,ntlm_auth这5种(注:squid-2.7.STABLE9版本),每个大类下面还有具体的认证方式,如NCSA,LDAP,DB等等,具体支持哪些可以去这些目录下面看。

笔者在这里主要介绍的是NCSA的方式,此种认证方式类似apache的auth认证方式,通过用户名密码来验证,密码文件也是通过htpasswd程序来创建。后面会给出具体配置。

3、通过不同的认证用户实现从不同的出口ip访问网络

先说实现不同出口ip访问网络,这个主要是依靠squid的tcp_outgoing_address配置实现的,此参数可以根据source ip或者用户名的不同,分配不同的出口ip出去。

如此一来,搭配第二个需求中的用户验证,正好就可以实现第三个需求了。后面会给出具体的配置。

4、隐藏代理信息,隐藏真实上网ip

这个需求很多人应该都想到使用什么配置文件了,对,就是squid的header_access这个参数。主要就是隐藏掉HTTP_VIA,VIA和X-forwarded-for。后面会给出具体配置。

二、安装配置

首先要做的就是下载一个squid安装包(下载地址)。笔者这里使用的是2.7 STABLE9,操作的当前目录是/tmp,下面所有涉及到目录的都是基于此目录。squid源文件路径是/tmp/squid-2.7.STABLE9.tar.gz

安装步骤如下:

tar zxvf squid-2.7.STABLE9.tar.gz
cd squid-2.7.STABLE9
./configure –prefix=/usr/local/squid –enable-async-io=320 –enable-icmp –enable-delay-pools –enable-kill-parent-hack –enable-snmp –enable-arp-acl –enable-htcp –enable-cache-digests –enable-removal-policies=heap,lru –enable-default-err-language=Simplify_Chinese –enable-x-accelerator-vary –enable-follow-x-forwarded-for –with-aufs-threads=320 –with-pthreads –with-dl –with-maxfd=65536 –enable-basic-auth-helpers=DB,NCSA –enable-digest-auth-helpers=password –enable-large-cache-files –with-large-files
make
make install
如果以上步骤中无报错,squid就被正确安装完毕了。

接下来执行:

cd /usr/local/squid/
#(之后的所有操作均在此目录下完成)
grep -v “^#” etc/squid.conf.default|uniq > etc/squid.conf
将创建一份未注释的配置文件。

接下来编辑此文件

vi etc/squid.conf
修改编辑的内容如下:

20 acl CONNECT method CONNECT
21
22 http_access allow manager localhost
这两行中间加入:include “/usr/local/squid/etc/auth.conf”。auth.conf文件的内容后面会有详细介绍。

32 icp_access deny all
33
34 http_port 3128
这两行中间加入:always_direct allow all,意思是对所有ip过来的请求都允许转发。

将49 broken_vary_encoding allow apache行后面的所有内容删除,加上如下内容

forwarded_for off
#隐藏x-forwarded-for头
header_access HTTP_VIA deny all
#隐藏HTTP_VIA头
header_access VIA deny all
#隐藏VIA头
cache_effective_group daemon
#设置squid执行的用户组,这里使用了系统自带的daemon用户组
cache_effective_user daemon
#设置squid执行的用户,这里使用了系统自带的daemon用户

visible_hostname test
#设置错误页面中出现的服务器名称,可自行更改
cache_dir aufs /usr/local/squid/cache 100 16 256
#设置squid的缓存,可自行调整
cache_store_log none
#关闭store.log
都修改添加完毕后,保存退出。

紧接着我们来创建auth.conf。

vi /usr/local/squid/etc/auth.conf
输入如下内容

# 设置验证相关的配置内容,指定密码文件
1 auth_param basic program /usr/local/squid/libexec/ncsa_auth /usr/local/squid/etc/passwd
2 auth_param basic children 10 #设置验证子进程数
3 auth_param basic credentialsttl 2 hours #设置验证有效期
4 auth_param basic casesensitive off #设置是否区分大小写
5
# 后面这三行分别定义了三个用户组。每个用户组指定了一个用户文件。
6 acl usergroup1 proxy_auth “/usr/local/squid/etc/ip1user”
7 acl usergroup2 proxy_auth “/usr/local/squid/etc/ip2user”
8 acl usergroup3 proxy_auth “/usr/local/squid/etc/ip3user”
9
# 后面三条允许这三个组的用户可以访问网络
10 http_access allow usergroup1
11 http_access allow usergroup2
12 http_access allow usergroup3
13
# 这三条用来分配哪个组的用户走哪个出口ip
14 tcp_outgoing_address10.100.10.1 usergroup1
15 tcp_outgoing_address10.100.10.2 usergroup2
16 tcp_outgoing_address 10.100.10.3 usergroup3
编辑完成后保存退出。

接下来是创建用户文件,vi /usr/local/squid/etc/ip1user,填入如下内容

user1
user2
保存退出。这里用户数量不限,每个用户名占用一行。

如果一开始没有那么多用户,建议使用touch命令将文件创建好,不然启动squid的时候会出错。

接下来创建用户的密码文件,第一次创建密码文件请使用下面的命令

htpasswd -cb /usr/local/squid/etc/passwd user1 111111
倒数第二个字段是用户名,最后一个字段是用户对应的密码

如果之前创建过了密码文件,使用下面的命令就可以了

htpasswd -b /usr/local/squid/etc/passwd user2 111111
命令解释同上。

到此为止,配置文件等相关工作就基本完成了。下面来说说squid的初始化工作。

首先,mkdir cache,创建cache目录

然后执行,chown -R daemon.daemon,变更当前目录及所有子目录的的属主与属组。笔者这里使用系统自有的daemon用户和组。

这些工作都做好之后呢,就来执行 sbin/squid -z对squid进行初始化,如果没有报错信息呢,初始化工作就算是做完了,下面启动squid服务即可了,启动命令为

sbin/squid -ND &
然后通过下面的命令查看一下3128端口是否启动

netstat -ln|grep 3128
如果出现下面的内容,说明squid服务已经正常运行了

tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN
到此为止,一个支持用户身份验证的多出口代理服务器就完全配置完毕了,赶快打开浏览器,配置好代理服务器,测试一下吧。看看浏览网页是否会弹出验证的提示。

另外还可以登录proxy checker工具网站查看使用不同的用户组的用户,是否上网ip不一样,同时这个页面还能查看当前上网方式是否使用了代理。

分类: Linux, 解决方案, 软件使用 标签: