levinit

levinit 查看完整档案

成都编辑  |  填写毕业院校  |  填写所在公司/组织 github.com/levinit 编辑
编辑

linux fans
HPC
web dev

个人动态

levinit 回答了问题 · 7月30日

如何调整路由表中的规则顺序

善用搜索引擎
请搜索 设置默认路由Linux
可以用ip 命令

ip route add default via 1.2.3.4 dev eth233

关注 2 回答 3

levinit 回答了问题 · 7月30日

top命令分析内存占用疑问

建议用htop吧,top看着就累,装了桌面的话用图形界面的进程管理器看吧

ps -eo pmem,pcpu,vsize,args |  sort -k 1 -r -n | head -n 10

ps看看吧

关注 2 回答 3

levinit 回答了问题 · 7月15日

笔记本安装linux后,机子温度很高,没有解决方法?

多半是显卡驱动呗。
n卡吧?装驱动没?

lspci|grep -i nvidia

当然也可能是系统其他程序问题,可能性低点,用ps、htop或者桌面的进程管理器看看有没异常的程序。

journalctl dmesg 这些看看有没有严重的error 信息。

关注 1 回答 1

levinit 发布了文章 · 7月10日

并行管理工具Pdsh

levinit linux 笔记

安装

  • 从源安装(以yum安装为例)

    #yum安装确保已经安装epel源,pdhs位于该源中
    yum install epel-release
    yum install pdsh
    #不同发行版打包的粒度可能不同,rhel/centos中pdsh的相关mod单独打包
    #pdsh-mod-dshgroup.x86_64 : Provides dsh-style group file support for pdsh
    #pdsh-mod-genders.x86_64 : Provides libgenders support for pdsh
    #pdsh-mod-netgroup.x86_64 : Provides netgroup support for pdsh
    #pdsh-mod-nodeupdown.x86_64 : Provides libnodeupdown support for pdsh
    #pdsh-mod-torque.x86_64 : Provides support for running pdsh under Torque jobid
    #pdsh-rcmd-rsh.x86_64 : Provides bsd rcmd capability to pdsh
    #pdsh-rcmd-ssh.x86_64 : Provides ssh rcmd capability to pdsh
  • 编译安装

    下载pdsh编译。常用的几个编译选项:

    ./configure --prefix=/usr/local/pdsh --with-ssh --with-machines=/path/to/machines --with-dshgroups --with-timeout=15 
    --with-readline
    • --with-ssh ssh模块(支持ssh)
    • --with-dshgroups 支持dsh风格的主机分组
    • --with-machines=</path/to/file> 主机列表文件路径

      在该文件中写入主机地址(或主机名——需要在hosts中写好主机解析),每行一个。

      存在machines文件,使用pdsh执行时若不指定主机,则默认对machines文件中所有主机执行该命令。

    • --with-exec exec模块
    • --with-timeout 超时,默认10s
    • --with-readline 支持交互模式输入
    • --with-nodeupdown 节点宕机功能
    • --with-readline 编译readline功能,支持交互式输入模式

具体可参看文档

使用

一条pdsh命令分为三部分:pdsh + 参数 + 并行执行的命令

参数部分不一定是必须的,该部分中一般会指定要执行的命令的主机信息。

如果只输入前面两部分,回车后可进入pdsh交互式命令行(若是编译安装需要启用--with-readline),再输入并行执行的命令部分。

常用参数:

  • -w 指定主机 -x 排除指定的主机

    目标主机可以使用Ip地址或主机名(确保该主机名已经在/etc/hosts中存在解析)

    多个主机之间可以使用逗号分隔,可重复使用该参数指定多个主机;可以使用简单的正则(参看下面的示例)。

  • -g 指定主机组 -G 排除指定主机组
  • -l <username 目标主机的用户名

    如果不指定用户名,默认以当前用户名作为在目标主机上执行命令的用户名。

    例如:当前执行pdsh的用户为root,则以root用户在目标主机上执行命令

  • -t <seconds> 超时时间(单位:秒)
  • -N 用来关闭目标主机所返回值前的主机名显示。
  • -b 禁止Ctrlc特性,使用该选项和,按下Ctrlc将kill所有并行的任务。
pdsh -w 192.168.0.1 -w 172.16.0.1 -w master "hostname"
pdsh -w c[01-10] date            #对c01--c10主机执行date命令
pdsh -w c[01-10] -x c2 poweroff  #对c01--c10但排除c02 执行关机命令
pdsh -w c01,c10,master reboot    #对c1,c10,master执行重启命令
pdsh -w c[01-10] -l test id      #使用test用户在c01--c10执行id命令

主机列表文件

主机列表文件包含一个或多个主机信息,当存在该文件时,直接使用pdsh命令而不指定主机列表,将默认指定主机列表中的主机执行后续命令。

注意:如果是编译安装,需要--with-machines启用该功能并指定主机列表文件路径。

WCOLL环境变量也设置主机列表文件但路径:

export WCOLL=/opt/nodes

主机列表文件中每个主机(使用ip或主机名、域名)一行,例如:

c01

c02

pdsh hostname #主机列表文件中但主机均执行hostname命令

主机分组

如果安装有dshgroup模块(编译安装需要启用--with-dshgroups),可使用主机分组功能。

默认的主机组定义文件存放目录是/etc/dsh/group/~/.dsh/group/,该目录中可包含一个或多个主机列表文件。

DSHGROUP_PATH环境变量可以定义主机列表的存放目录:

export DSHGROUP_PATH=/opt/pdsh/group

例如在主机组目录中添加了group1group2两个主机列表文件:

pdsh -g group1 hostname  #在group1组的主机上执行hostname命令
pdsh -g group2 uname -r  #在group2组的主机上执行uname -r命令

pdcp

pdsh提供的多主机并行复制工具,该功能需要每个主机都装有pdsh。

用法类似cp。


其余环境变量(参看man pdsh

  • PDSH_RCMD_TYPE-R选项,设置rcmd模块(如ssh或rsh)
  • PDSH_SSH_ARGS 设置ssh参数
  • PDSH_SSH_ARGS_APPEND 设置追加的ssh参数(如ssh的-q参数)
  • DPATH 设置远程主机的PATH变量
查看原文

赞 0 收藏 0 评论 0

levinit 回答了问题 · 6月28日

解决数据库天天被黑怎么办?

服务器全面防护啊,不一定是mysql爆破,也可能人家是ssh上来的??

开启防火墙,关闭不必要的端口
升级某系关键软件版本,尤其是爆出重大漏洞的,比如kerenel版本,openssh版本
mysql/mariadb如无必要关闭远程访问,关闭root远程访问,普通用户要远程访问密码要复杂
ssh没必要就不要开root访问,改下默认端口,普通用户密码不要太简单,检查下可登陆用户中有没有简单密码情况,加个防护工具,简单的如fail2ban。https://segmentfault.com/a/11...

关注 3 回答 3

levinit 回答了问题 · 6月27日

求问前端大佬们都是怎么解决跨域的?

兄嘚,不冤枉啊,就以你提这个问题来说吧,百度一下能出来n页,写得全面详细的不少,根本到不了专门再问一次的地步。
跨域嘛,奇技淫巧虽多,真正常用的也就cors,或者后端web server proxy。

关注 10 回答 9

levinit 回答了问题 · 6月17日

定时执行任务除了crontab还有没有其他方式?

at 可以

另外编写一个systemd unit,使用定时器timer。
https://www.freedesktop.org/s...

关注 2 回答 2

levinit 回答了问题 · 6月11日

解决Linux 下 非root用户无法执行crontab问题

就是想用www来执行嘛。
首先你不应该把cron任务写到这个文件里面,你应该切换到www用户,然后执行crontab -e,接着打开的界面里面添加任务,而且你不应该写5个星号,不然系统懵逼了就像问你是不是想我无论啥时候都执行这进程。我估摸你是想它开机自启动,那就写上@reboot /xxx/xx blabla,后面的xxbla就是你要执行的命令,写完后保存即可,然后使用crontab -l检阅一下,然后你重启看看。
当然你也可以把这个启动命令写到其他地方实现开机启动,比如用systemd units,比如写到/etc/rc.local这个在新版本系统中可能被作为不推荐用来写开机启动程序但实际很多人都写的地方,不过注意你可能需要chmod +x /etc/rc.d/rc.local下。

最后,这样做还有问题就再说吧。。。。

关注 1 回答 2

levinit 回答了问题 · 6月9日

ssh跳转问题

你的用法没啥问题呀

没有config又不影响你直接用ip呀。。。。

a-b-c-d如下
ssh -J user@b,user@c user@d

a b d 就省略c

如果user都是一个user,应该是可以省略掉的。做了ssh密钥认证应该q就直接登录到d了,否则会输入密码。

如果非22端口,比如是2222:
ssh -J user@b:2222,user@c:2222 -p 2222 user@c

https://github.com/levinit/it...
跳板登录

或者ssh端口转发 将b上一个端口转发到c的sahd端口,在a上通过该端口从b登c。

关注 2 回答 3

levinit 回答了问题 · 5月30日

服务器被黑了 数据库被删了怎么办?

中了勒索病毒了,0.03BTC目前1500-2000,不在意数据就别管了。
至于你后面问的一连串……还来不来,有没有木马,和软件有没有关系……
这是要人盲猜吗??

没啥重要数据就直接重置或者了系统,系统安全也不是三两句说得清楚,作为云服务器,最重要的就是别乱开端口,在云管理后台只开必要端口,用户名不要起太随意(比如admin),密码当然要复杂,系统尽量别用老版本(比如明明用debian10就行,你非要用debian9)。
具体来说,一般ssh做好防护,可以参照在下的笔记ssh安全,当然我也是不专业的,平时也就是给自己cvm防护防护。
mysql这类数据库能只监听localhost就别监听0.0.0.0,非要监听,就关掉root远程登录,其他用户密码一定要复杂,弄点防护策略。
盗版软件最好别用,要用自己能确定安全就行,我个人是不敢乱来的,除非是自己的数据,不然出问题怎么说的清,mysql客户端非得用navicat么(我发现很多人就喜欢用它的盗版,当然你要说它好用我也没办法,有情况就买个,舍不得就换个,用命令行也行啊),shell工具那么多,比如termius,putty,随便装个git也自带ssh命令了呀!!!
重要数据要么找专业认识给建议或技术支持,要么价钱买相关服务。不然出了这种事,你问怎么办,无利益相关的人又能给你什么专业性建议呢,对吧。

关注 3 回答 3

认证与成就

  • 获得 49 次点赞
  • 获得 15 枚徽章 获得 0 枚金徽章, 获得 2 枚银徽章, 获得 13 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2017-12-03
个人主页被 707 人浏览