Tag: linux

以编程方式编辑crontab并强制守护进程刷新

我正在尝试使用优秀的CronEdit gem在Ruby中为Crontab编写Web前端。 我浏览了Dillon Cron的crontab源代码,发现它更新了一个特定的文件,以便守护进程在下一次扫描时刷新cron列表。 在VixieCron的man crontab中,它说: 另外,cron检查每一分钟以查看其假脱机目录的modtime(或/ etc / crontab上的modtime)是否已更改,如果有,cron将检查所有crontabs上的modtime并重新加载已更改的那些。 因此,无论何时修改crontab文件,都不需要重新启动cron。 请注意,只要crontab(1)命令更改了crontab,它就会更新假脱机目录的modtime。 有没有任何平台(Ubuntu,Red Hat,ArchLinux,Mac OS X)独立的方式来确保在手动编辑Cron文件之后守护进程刷新它没有失败?

如何在Linux中设置Ruby环境?

~$ ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] 注意:我不想使用RVM设置ruby路径

在流浪汉配置期间使用Sed将行附加到文件

我目前正在使用Vagrant来设置运行Ubuntu的开发机器。 我想在我的.profile中添加几行,使用sed将目录添加到我的$PATH变量中。 为此,我将这些行添加到我的机器的Vagrantfile : config.vm.provision “shell”, inline: “sudo sed -i \’$ a if [ -d \\\”/usr/local/lib\\\” ]; then\n PATH=\\\”/usr/local/lib:$PATH\\\”\nfi\’ /home/vagrant/.profile” 据我所知和测试,我已经逃脱了让Vagrant运行这个有效的shell命令所需的所有角色: sudo sed -i ‘$ a if [ -d \”/usr/local/lib\” ]; then\n PATH=\”/usr/local/lib:$PATH\”\nfi’ /home/vagrant/.profile 这将这些行添加到我的.profile : if [ -d “usr/local/lib” ]; then PATH=”usr/local/lib:$PATH” fi 但是,当我做一个vagrant up我在尝试运行命令时收到以下错误: ==> default: Running provisioner: shell… default: Running: inline script […]

拆分字符串以仅获取前5个字符

我想去位置/var/log/src/ap-kernelmodule-10.001-100 但看起来我的代码必须处理ap-kernelmodule-10.002-100,ap-kernelmodule-10.003-101等。我想用拆分字符串到达​​该位置并执行我的命令。 例如:/var/log/src/ap-kernelmodule-10./ 这个Linux机器的ruby脚本,所以我使用了Mixlib :: ShellOut。 begin cmd = Mixlib::ShellOut.new(“command run here” , :cwd => ‘/var/cache/acpchef/src/ap-kernelmodule-10xxx’) cmd.run_command end