标签: sysadmin

如何使用SSH在远程计算机上运行shell脚本?

我必须在远程机器上运行shell脚本(windows/Linux).

我在机器A和B上配置了SSH.我的脚本在机器A上,它将在远程机器上运行我的一些代码,机器B.

本地和远程计算机可以是基于Windows或Unix的系统.

有没有办法使用plink/ssh运行?

sysadmin ssh shell remote-execution

1164
推荐指数
12
解决办法
120万
查看次数

如何在Windows中删除服务?

我有几个旧服务,我想完全卸载.我怎样才能做到这一点?

sysadmin administration windows-services

411
推荐指数
9
解决办法
51万
查看次数

如何找出给定用户的组?

在Unix/Linux中,如何通过命令行找出给定用户所在的组?

unix linux sysadmin command-line

247
推荐指数
3
解决办法
29万
查看次数

Crontab Day of the Week语法

在crontab中,"星期几"字段是运行0 - 6还是1 -7

我看到有关这方面的相互矛盾的信息.维基百科国家0-6和我见过的其他网站1-7.

还有什么意思或使用07错误?即cron仍然会运行?

linux sysadmin cron crontab

187
推荐指数
3
解决办法
20万
查看次数

跟踪每个进程的CPU和内存使用情况

我怀疑我的一个应用程序占用的CPU周期比我想要的多.问题是 - 它发生在爆发中,只是看着任务管理器并没有帮助我,因为它只显示了即时使用.

有没有办法(在Windows上)跟踪某些进程的CPU和内存使用情况的历史记录.例如,我将开始跟踪"firefox",大约一小时后,将会看到该小时内CPU和内存使用情况的图表.

我正在寻找现成的工具或程序化的方法来实现这一目标.

windows sysadmin process-management

154
推荐指数
6
解决办法
36万
查看次数

以不同用户身份运行Linux服务的最佳实践

服务默认root在我的RHEL框上启动时启动.如果我没记错的话,对于使用init脚本的其他Linux发行版也是如此/etc/init.d.

您认为最好的方法是让流程作为我选择的(静态)用户运行?

我到达的唯一方法是使用类似的东西:

 su my_user -c 'daemon my_cmd &>/dev/null &'
Run Code Online (Sandbox Code Playgroud)

但这似乎有点凌乱......

是否有一些隐藏的魔法可以提供一种简单的机制来自动启动服务,就像其他非root用户一样?

编辑:我应该说我在这个实例中开始的过程是Python脚本或Java程序.我宁愿不在它们周围写一个原生包装器,所以不幸的是我无法像Black建议的那样调用setuid().

linux sysadmin rhel init.d

137
推荐指数
3
解决办法
25万
查看次数

找到我的nginx实际使用的nginx.conf文件

在客户端的服务器上工作,其中安装了两个不同版本的nginx.我认为其中一个是使用brew包管理器(它是一个osx盒)安装的,另一个似乎是使用nginx打包的Makefile编译和安装的.我搜索了服务器上的所有nginx.conf文件,但这些文件都没有定义nginx在服务器上启动时实际使用的参数.我不知道的nginx.conf文件在哪里?

sysadmin macos nginx

110
推荐指数
5
解决办法
9万
查看次数

生存指南

lsof是一个增强的强大的命令行实用程序,适用于unix系统.它列出了打开的文件,显示有关它们的信息.由于大多数内容都是unix系统上的文件,因此lsof可以为系统管理员提供大量有用的诊断数据.

有哪些使用lsof最常用和最有用的方法,以及使用哪些命令行开关?

unix sysadmin lsof

101
推荐指数
6
解决办法
7万
查看次数

从shell脚本调用JMX MBean方法

是否有任何库允许我从shell脚本调用JMX MBean方法.我们通过JMX公开了一些操作/管理命令,我们可以让我们的管理员使用JConsole或VisualVM,但有些任务最好留给自动化.在那个自动化中,我们希望能够在运行的服务器上调用JMX MBean方法,最好是从shell脚本调用.

java sysadmin jmx

95
推荐指数
5
解决办法
12万
查看次数

如何在unix中守护任意脚本?

我想要一个可以将任意通用脚本或命令转换为守护进程的守护进程.

我想要处理两种常见情况:

  1. 我有一个应该永远运行的脚本.如果它死了(或重启),重新启动它.不要让一次运行两个副本(检测副本是否已经在运行并且在这种情况下不启动它).

  2. 我有一个简单的脚本或命令行命令,我希望永远重复执行(运行之间的短暂停顿).同样,不要允许一次运行两个脚本副本.

当然,在案例2中围绕脚本编写"while(true)"循环然后为案例1应用解决方案是微不足道的,但更通用的解决方案将直接解决案例2,因为它适用于案例1中的脚本好(你可能只是想更短或没有停顿如果脚本不打算会死(当然,如果剧本真的没有永远不死,则暂停实际上并不重要)).

请注意,解决方案不应涉及将文件锁定代码或PID记录添加到现有脚本中.

更具体地说,我想要一个程序"daemonize",我可以运行

% daemonize myscript arg1 arg2
Run Code Online (Sandbox Code Playgroud)

或者,例如,

% daemonize 'echo `date` >> /tmp/times.txt'
Run Code Online (Sandbox Code Playgroud)

这将保留越来越多的日期列表附加到times.txt.(注意,如果daemonize的参数是一个永远运行的脚本,如上面的情况1那样,那么daemonize仍然会做正确的事情,必要时重新启动它.)然后我可以在我的.login中输入如上所示的命令和/或每小时或每小时一次(取决于我是多么担心它会意外死亡).

注意:daemonize脚本需要记住它正在守护的命令字符串,这样如果再次守护同一个命令字符串,它就不会启动第二个副本.

此外,理想情况下,该解决方案应该适用于OS X和Linux,但欢迎使用其中一种解决方案.

编辑:如果你必须调用它,这很好sudo daemonize myscript myargs.

(如果我认为这一切都错了,或者有快速和肮脏的局部解决方案,我也很乐意听到.)


PS:如果它有用,这里是一个特定于python的类似问题.

这个回答类似的问题有什么似乎是一个任意脚本的快速和肮脏的妖魔化一个有用的成语:

unix sysadmin scripting perl daemon

91
推荐指数
7
解决办法
4万
查看次数