服务器管理员

系统和网络管理员的问答

5
Bash:将命令作为参数传递给函数时,引号被剥夺
我正在尝试为我的脚本实现一种空运行机制,并在将命令作为参数传递给函数并导致意外行为时遇到引号被剥夺的问题。 dry_run () { echo "$@" #printf '%q ' "$@" if [ "$DRY_RUN" ]; then return 0 fi "$@" } email_admin() { echo " Emailing admin" dry_run su - $target_username -c "cd $GIT_WORK_TREE && git log -1 -p|mail -s '$mail_subject' $admin_email" echo " Emailed" } 输出为: su - webuser1 -c …

2
终端仅显示$?
我最近在服务器上使用“ adduser username”设置了一个新用户,并注意到当我登录时会得到: $ 同样,对于我的新用户,没有突出显示文件夹或完成制表符。 但是,当我以root用户身份登录时,会得到一个完整的终端提示以及突出显示,完成等信息。 root@lin01:~# 有人知道我做错了什么吗? 编辑:解决方案是键入 chsh -s /bin/bash 用$登录。


1
Twitter.com的奇怪WHOIS:发生了什么事?
我已经尝试使用Google搜索,但是我无法找到答案附近的任何地方,而这是我能想象得到的唯一地方。 如果我执行whois twitter.com,那么我会得到一个非常奇怪的答复。如果是广告,那就是我见过的最奇怪的广告地方。 Whois Server Version 2.0 Domain names in the .com and .net domains can now be registered with many different competing registrars. Go to http://www.internic.net for detailed information. Server Name: TWITTER.COM.ZEN.THE.BEST.WEBHOSTING.AT.WWW.FATUCH.COM IP Address: 209.126.190.70 Registrar: DIRECTI INTERNET SOLUTIONS PVT. LTD. D/B/A PUBLICDOMAINREGISTRY.COM Whois Server: whois.PublicDomainRegistry.com Referral URL: http://www.PublicDomainRegistry.com …


5
托管多个存储库(svn,hg,git)
我最近购买了一台专用服务器,并且需要从源代码管理主机服务中将几个存储库移至该服务器。在服务器管理方面经验不足,但是我不知道如何有效地组织它。我追求的是 svn.host.com,hg.host.com,git.host.com子域,它们将通过SSH密钥成为不同存储库的根 轻松创建新存储库 使用服务器UNIX用户列表验证,但有每个项目的基础上的权限,也可选只读公众访问一些回购的 不幸的是,我在Google上尝试使用的任何搜索字词都将我定向到商业托管的解决方案,而不是有关如何汇总自己的指南。我需要一个简化的托管解决方案,但不需要用户能够创建自己的存储库。 关于从哪里开始研究的任何建议,教程或脚本解决方案?一个用于管理该接口的开源解决方案(或者至少对于某些应用程序来说是完美的...
8 hosting  svn  git  mercurial 

4
GNU Screen和Tmux:提示和技巧
因此,我是GNU Screen和Tmux等多路复用器的忠实拥护者,但是即使使用Screen多年了,我仍然认识到我不知道有很多东西(而且我只使用Tmux几个月,所以更糟) )。 您在这些软件上使用了哪些配置以及技巧和窍门(无论是哪个还是每个,都没有关系)? 我用它作为我的屏幕配置(我想我是从Ubuntu的default改编过来的screenrc): shell -$SHELL startup_message off defscrollback 1000 hardstatus alwayslastline '%{= wk}%?%-Lw%?%{r}(%{k}%n*%f%t%?(%u)%?%{r})%{k}%?%+Lw%?%?%= %m/%d %C%A' activity '' termcapinfo xterm* 'hs:ts=\\E]2;:fs=\\007:ds=\\E]2;screen\\007' 这是一个简单的配置,可以使状态栏显示某些颜色,但是我敢肯定,我可以使用屏幕和Tmux做更多的事情,并且很想知道。

5
如果龙卷风经过您的数据中心怎么办?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 在过去的这个周末,我们在弗吉尼亚州遇到了严重的风暴,当然日本的危机提醒人们,事情可能会心跳加速!我问自己一个问题:“如果龙卷风袭击了我的数据中心,我准备好了吗?” 我在机架中有出色的备份系统,其中包括磁带备份。由于数据中心没有关闭,因此无法将磁带移离现场。我想要找到或创建的系统可以按计划排定备份关键项目(例如网站,数据库)并远程复制它们的系统,即我的服务器在家里。我有35兆位服务的FIOS,所以我有宽带,我需要做的是“系统”。我是一名程序员,所以我可以按计划创建一些FTP停机信息,但是我很好奇是否有什么东西可以满足现在的远程备份需求吗?我的SQL Server已备份到存储阵列,我可以关闭这些备份,甚至在此处安排我的SQL Server以按计划与生产服务器同步。我使用Windows Server 2008 R2和SQL Server 2008 R2。 在自然灾害导致我们的数据中心崩溃之类的危机中,大家都对场外策略有何建议?准备好了吗?我希望其他人问自己这个问题,并从我们经常看到的自然灾害中学习。

8
系统管理员和生产支持工程师之间的区别?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我正在尝试为我们要填补的职位创建职位发布,并且不确定是否应该以系统管理员或生产支持工程师的身份发布。有什么区别? 生产支持工程师很像系统管理员的高级版本吗? 我们的工作实际上是生产支持,这意味着我们需要有人来支持生产系统并拥有其可用性。当我上网时,看不到有太多这样的角色。
8 untagged 

2
持久性负载平衡最佳做法
我们运行一个Web应用程序,为越来越多的客户端提供Web API。首先,客户通常是家庭,办公室或其他无线网络,这些用户将分块的http上传文件提交到我们的API。现在,我们开始涉足更多的移动客户端。文件的大小从几千到几千个不等,分解成较小的块,然后在我们的API上重新组合。 当前的负载平衡是在两层上执行的,首先,我们使用轮询DNS来为api.company.com地址通告多个A记录。在每个IP上,我们都托管一个Linux LVS:http : //www.linuxvirtualserver.org/,负载均衡器查看请求的源IP地址,以确定将连接传递给哪个API服务器。此LVS盒配置有心跳信号,以相互接管外部VIP和内部网关IP。 最近,我们看到了两个新的错误情况。 第一个错误是客户端从一个LVS振荡或迁移到另一个中载。这进而导致我们的负载平衡器失去对持久连接的跟踪,并将流量发送到新的API服务器,从而破坏了两个或更多服务器之间的分块上传。我们的意图是使api.company.com(我们将其设置为1小时)的Round Robin DNS TTL值由下游缓存名称服务器,OS缓存层和客户端应用程序层使用。我们上载的大约15%会发生此错误。 我们看到的第二个错误要少得多。客户端将启动到LVS盒的流量,并路由到它后面的realserverA。此后,客户端将通过LVS框无法识别的新源IP地址进入,从而将正在进行的流量也路由到该LVS后面的realserverB。 鉴于上文所述的架构,我想知道人们在使用更好的方法后会遇到什么经验,该方法可以使我们更优雅地处理上述每种错误情况? 编辑5/3/2010: 这看起来像我们需要的。源IP地址上的加权GSLB哈希。 http://www.brocade.com/support/Product_Manuals/ServerIron_ADXGlobalServer_LoadBalancingGuide/gslb.2.11.html#271674

5
我需要用更具可扩展性的东西来代替穆宁[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为服务器故障的主题。 5年前关闭。 我已经在多个服务器上使用munin多年,并取得了巨大的成功,但是在munin节点超过100个的情况下,当客户端上有负载时,处理就会超时。 我对cron作业和客户端进程数进行了一些缩放更改,并减少了运行的插件数,等等。但是我决定寻找一种具有更可扩展的体系结构的替代方案。 任何建议或经验都将受到欢迎。我基本上对服务器度量标准感兴趣,该度量标准可用于容量规划和诊断资源使用情况。(我们有nagios提醒)

2
人偶测试文件是否存在
我正在寻找一种方法来测试客户端中是否存在文件(只是测试而不是创建)。我已经在厨师中找到了(File.exists)的方法,但是使用木偶并不是那么简单。 提前致谢。
8 puppet 

4
复制大文件时如何减少资源使用?
我需要将大文件(损坏的MySQL表〜40GB)移动到单独的服务器上以进行修复。(当尝试在生产服务器上进行修复时,它很快就杀死了服务器)。 为此,我想将.frm,.MYI和.MYD文件从生产服务器重新同步到云服务器。 我正在将文件从/ var / lib / mysql / {database} /复制到/ home / {myuser},以便不需要为rsync命令启用root访问权限,并100%确保数据库文件不是使用中(不应写入或读取,但显然我不想关闭生产数据库来确保)。 我尝试复制的第一个文件约为10GB。我正在从生产服务器的一部分转移到另一部分,即转移到同一磁盘阵列。 不幸的是,复制命令“ cp filename newfilename”占用了太多资源,导致服务器停止运行。 将文件复制到其他目录时,如何使用较少的资源?(花费多长时间并不重要)。 假设我能够做到这一点,那么在将文件同步到云中时,我可以期待什么资源使用量? 谁能建议一个更好的方法来做到这一点?我的磁盘空间很快用完了,因此需要尽快修复和归档此表。

1
主-主复制的恢复策略
我已经基于master-master复制为MySQL实现了HA解决方案。前端部分有一种机制可以保证在给定的时间只能读取/写入一个数据库(即,我们仅对HA使用复制)。 我已经确认复制可以按预期进行,但是我想知道故障情况和恢复。特别是,我担心一个主机在无法恢复的状态下发生故障并需要从另一主机重新创建时会发生什么情况: 由于另一个主mysqldump数据库处于活动状态并且很可能已被使用,因此我无法锁定它并从中创建转储(我们的数据库相当大,mysqldump使用几个月后很容易花费数小时)。 即使假设我有一个转储,也至关重要的是,SHOW MASTER STATUS所显示的binlog位置必须与锁定数据库后进行的转储相对应。 解决第一个问题的简单方法是使用第三个数据库作为备份,我可以从中进行备份mysqldump。但是,如何确保重新创建的母版可以以一致的方式从正在运行的母版开始复制?

5
如何启动/停止proftpd
我似乎找不到停止/重新启动proftpd的方法。我的服务器IP地址是xx.yy.zz.ww,通过FTP从外部设备进行连接会提示我: Connected to xx.yy.zz.ww 220 ProFTPD 1.3.1 Server (ProFTPD) 然后,它要求我输入用户名。 当我尝试从同一服务器(ftp localhost)连接时,也会发生同样的事情。因此,我确定proftp正在服务器上运行。 另外,在我的服务器(xx.yy.zz.ww)上。我快要尾巴了/var/log/messages,这表明我的FTP会话已打开和关闭。 我找不到proftpd的工作方式。/etc/init.d/没有proftpd; /etc/xinetd.d/没有proftpd。 我看着:/etc/proftpd.conf它显示了我ServerType inetd 同样,当我运行:ps -auxfww| grep proftp我什么也没得到(我当前的命令除外) 我如何才能发现proftp正在运行以及如何杀死它/重新启动它?
8 ftp  rhel5  proftpd 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.