可能重复: 什么是初学者应该知道/学习系统pipe理员的工作? 我一直在寻找一个networkingpipe理员职位一年。 我拥有计算机networking学位,以及A +和Network +authentication。 几年前,我曾在一家基于UNIX的networking中担任实习生,并且拥有多个帮助台职位,包括以不同方式探测networking,以及使用FTP,Web,Active Directory和UNIX应用程序服务器。 但是每次申请networkingpipe理员职位,即使是初级networkingpipe理员(或类似的),我也没有得到答复,或者被告知我至less需要5年的经验。 我知道公司正处于困难时期,但是我觉得我会成为其中任何一个公司的资产。 现在是个大问题。 我喜欢与这些系统一起工作,并且和他们一起做得很好。 我如何说服一位雇主也许可以“抓住机会”,这样才能开始我的职业生涯? 对不起,如果这是题外话,但我找不到任何地方真正的指针。 另外,我更喜欢使用基于UNIX / Linux的系统,但希望使用Win或其他系统来处理这些系统。
长话短说:大公司,大量的UNIX / Linux服务器。 我inheritance了几年前留下的一些脚本的责任。 其中之一就是一个脚本,每运行几十个月就可以全局更新所有服务器的root密码。 这个脚本是一团糟的Shell脚本和Expect,它在所有服务器和一个中央命令和控制服务器之间build立的SSH信任上起作用。 问题是,剧本是一个巨大的混乱。 Expect命令试图说明存在于任何UNIX / Linux盒子上的每个可能的“passwd”版本 – 它们有很大不同。 由于我们正在扩大和升级很多基础设施,因此脚本变得非常难以pipe理。 我的问题是:有没有更好的方法来做到这一点? 假设已经build立了SSH信任关系,那么在3000多台服务器上同时更改root密码的最好方法是什么?
我永远不知道什么时候是使用nohup的最佳时机,而在命令的末尾是&。
假设一个(非常)大的进程正在崩溃和倾倒核心,并且我们知道其他信息的原因(可能是断言信息,也许是别的东西)。 有没有办法阻止核心转储完全生成,因为在这种情况下是浪费? 例如,会杀死一个核心转储过程的-9中断核心文件的代? 显然,如果我们提前知道我们不需要核心转储,我们可以适当地设置ulimit或使用操作系统的各种核心文件控制工具。 但是这个问题是关于“核心转储已经在进行”阶段的… (例如,假设我是https://stackoverflow.com/questions/18368242/how-to-bypass-a-2tb-core-dump-file-system-limit中的请求者,并且不想浪费5 -6 TB的磁盘空间:))
你如何从UNIX / Linux机器上分析日志文件? 我们运行几百台服务器,它们都可以直接或通过系统日志生成自己的日志文件。 我正在寻找一个体面的解决scheme来汇总这些并挑选重要的事件。 这个问题分解成三个部分: 1)消息传输 经典的方法是使用syslog将消息logging到远程主机。 这适用于login到syslog的应用程序,但对写入本地文件的应用程序不太有用。 解决scheme可能包括让应用程序login到连接到程序的FIFO中,使用syslog发送消息,或者写一些grep本地文件并将输出发送到中央系统日志主机。 但是,如果我们去编写工具来把消息写入系统日志的麻烦,我们会更好地用像Scribe这样的东西来代替整个系统,它比syslog提供更多的灵活性和可靠性。 2)消息聚合 日志条目似乎分为两种types:每个主机和每个服务。 每主机消息是在一台机器上发生的消息; 认为磁盘失败或可疑的login。 运行服务的大多数或全部主机上都会出现每个服务的消息。 例如,我们想知道Apache何时发现一个SSI错误,但是我们不希望100台机器发生同样的错误。 在所有情况下,我们只希望看到每种消息types之一:我们不希望10条消息说同一个磁盘失败了,而且每次遇到一个破坏的SSI都不需要消息。 解决这个问题的一个方法是将多个相同types的消息聚合到每个主机上,将这些消息发送到中央服务器,然后将相同types的消息聚合成一个整体事件。 SER可以做到这一点,但使用起来很尴尬。 即使在几天的摆弄之后,我也只有基本的聚合工作,并且不得不经常查找SER用于关联事件的逻辑。 它function强大但棘手:我需要一些我的同事可以在最短的时间内拿起和使用的东西。 SER规则不符合要求。 3)生成警报 当有趣的事情发生时,我们如何告诉我们的pipe理员? 邮件收件箱? 注入Nagios? 那么,你是怎么解决这个问题的? 我不期望在盘子上有答案。 我可以自己搞清楚细节,但是一些高层次的讨论肯定是个普遍的问题。 目前我们正在使用cron作业,系统日志和谁知道还有什么可以find事件。 这不是可扩展的,可维护的或灵活的,因此我们错过了许多我们不应该做的事情。 更新:我们已经在使用Nagios进行监控,这对于检测到主机/testing服务/ etc是非常好的,但是对于抓取日志文件不太有用。 我知道有Nagios的日志插件,但是我对比每个主机警报更具可扩展性和层次感的东西感兴趣。
Interix和Cygwin似乎在Windows中提供了一个类似于Unix的用户环境。 两者的实际区别是什么,例如: 类Unix的“感觉” 性能 软件包的可用性/易于编译从互联网上下载的随机软件 与Windows应用程序和工具集成 与虚拟机集成/兼容(例如,Interix和Ubuntu虚拟机可能共享相同的“主目录”) 用户群/社区支持级别的大小 我知道的一个区别是,Interix需要Windows 7企业版或旗舰版; Cygwin会运行任何东西。
正如我们都知道“unix”除了“/”和“\ 0”之外可以有任何文件,系统pipe理员往往会有一个更小的偏好,主要是由于没有任何喜欢空间作为input…和一堆事情对“:”和“@”等特殊含义。 最近我又看到了另外一个例子,在一个文件名中使用了一个时间戳,在用不同的格式播放了一些后使它“更好”,我想我会试图find一个“最佳实践”,而不是看到一个我只是问在这里,看看人们的想法。 可能的“常见”解决scheme(p =前缀和s =后缀): syslog / logrotate / DNS格式如下: p-%Y%m%d-suffix = prefix-20110719-s p-%Y%m%d%H%M-suffix = prefix-201107191732-s p-%Y%m%d%H%M%S-suffix = prefix-20110719173216-s 优点: 这是“共同的”,所以“够好”可能比“最好”更好。 没有怪异的字符。 容易区分“date/时间一滴”与其他一切。 缺点: 只有date的版本是不容易阅读,包括时间,使我的眼睛stream血,秒也是“大声笑”。 假设TZ。 ISO-8601格式 p-%Y-%m-%ds = p-2011-07-19-s p-%Y-%m-%dT%H:%M%zs = p-2011-07-19T17:32-0400-s p-%Y-%m-%dT%H:%M:%S%zs = p-2011-07-19T17:32:16-0400-s p-%Y-%m-%dT%H:%M:%S%zs = p-2011-07-19T23:32:16+0200-s 优点: 没有空间。 考虑TZ。 人类阅读是否“不错”(只有date是好的)。 可以由$(date –iso = {hours,minutes,seconds})生成 缺点: SCP /焦油/等。 不会喜欢那些':'字符。 需要一些“正常”的人看到“T”的WTF,最后是什么:)。 很多' – […]
这将是一个有点加载的问题。 我从1962年就开始在一家公司进行编程。很多东西,特别是电脑/networking的东西,已经过时了。 让我给出更多的背景。 该公司已经运行了Windows服务器。 在服务器上,许多计算机在共享的networking驱动器中都有文件,并且也有一些程序。 这就是全公司访问诸如会计和库存之类的东西的方式,以及如何共享文件。 不幸的是,从来没有一个强大的系统pipe理员参与任何devise。 会计系统运行在Foxpro上。 文件完全混乱。 员工似乎总是知道自己的方式,但为了成长和规模化,我们需要快速掌握这个networking。 我看到一些需要的东西: 一个关系数据库,可通过networking上的所有计算机访问,这些计算机将存储: 文件(即图纸,报价,已完成项目的图片等) 员工(那么我们可以开始做电脑化的时间卡入境) 发票,应收款和库存 密码pipe理 工作跟踪 我想在这个数据库之上构build自定义的应用程序来提供所有的function,并且构buildAPI,使我们的网站能够与我们的内部资源进行交互。 当我build立新系统时,显然我必须保留现有的系统。 我来自一个网页背景……并且非常适合Unix(我已经pipe理了几十台服务器来为网站服务),PHP和前端开发。 我想坚持我已经熟知的那些开源技术。 我脑海中最大的问题是从哪里开始。 我是否购买服务器机架,并开始构build全新的networking? 一旦准备就绪,我是否会将每个人推送到新的networking,或者试图同时使用这两个networking,并慢慢迁离旧的? 我意识到这可能是一个需要一年或更长时间的项目。 我真的很感谢一些指导 – 系统devise的任何资源,我如何开始,无论如何。 我愿意投入工作 – 我只需要帮助创造一个愿景。
我login在服务器上(使用腻子)。 从那里我连接使用FTP到另一台服务器。 我想使用mput将第一台服务器上的多个文件夹复制到第二台服务器上。 喜欢: ftp> mput folder1 folder2 folder3 但我得到“folder1:不是一个纯文件”…等等。 这些文件夹中的每一个都有子文件夹,文件(一些二进制文件,一些不)。 我怎样才能完成我想要的东西,而不是压缩的东西,然后转移?
(来自: https : //stackoverflow.com/questions/15245144/copy-file-permissions-but-not-files ,因为脱离主题而closures) 我有两个相同的目录树的副本。 他们几乎都有相同的文件(一个版本可能有一些额外的或丢失的文件)。 但是,大部分文件对于两个目录是相同的(具有相同的相对path和所有内容)。 假设这些在目录中: version1/ version2/ 问题是版本1中的权限/搞砸了,我想从版本2 /复制权限,但没有replace版本1 /这是更新的文件。 有没有一种通过shell命令或脚本执行此操作的自动化方法?