Unix & Linux

Linux,FreeBSD和其他类似Un * x的操作系统用户的问答

4
当CPU /内存使用率过高时,Bash脚本会自动终止进程
我创建了一个脚本,该脚本可以在CPU和/或内存使用率达到80%时终止进程。发生这种情况时,它将创建一个被终止进程的列表。我该怎么做才能改善它? while [ 1 ]; do echo echo checking for run-away process ... CPU_USAGE=$(uptime | cut -d"," -f4 | cut -d":" -f2 | cut -d" " -f2 | sed -e "s/\.//g") CPU_USAGE_THRESHOLD=800 PROCESS=$(ps aux r) TOPPROCESS=$(ps -eo pid -eo pcpu -eo command | sort -k 2 -r | grep -v …

1
单个主机的“伪” DNS
我在家庭网络中运行bind9 dns服务器,为我的本地域/ 192.168.xx中的所有内部服务器提供服务-其中之一extweb.local 192.168.1.33在互联网上也可以作为home.sickel.net(好吧,不完全是,但是你明白了 是否可以设置我的内部DNS,使其将home.sickel.net解析为192.168.1.33?镰刀网络上的所有其他主机都在外部运行,我的内部dns不应该解析。 (所有这些主要是为了使家庭其他成员更轻松,因此无论他们在家还是通过www进行访问,他们始终可以将服务器称为home.sickel.net) 我的家庭网络上的所有服务器都运行debian。它们都在同一子网中,并通过单个网关连接到Internet。
11 dns  bind 

1
有没有一种表达方式:`--link`或回退到cp中的普通副本(来自GNU coreutils)?
有没有办法告诉cp给--link(即创建硬链接),但回落的情况下,我试图设备间的硬链接?设备间链接是不可能的,并且会导致cp失败。 我问的原因是因为我想在a中使用它,GNUmakefile并且比一些复杂且冗长的代码(或函数)更喜欢可读的命令行。 问题是针对GNU coreutils(7.4和8.13)。 注意:现在,解决方法将类似于(GNU make recipe语法): cp -fl $^ $@ || cp -f $^ $@ 在设备间链接的情况下,这当然会产生虚假的错误消息,尽管随后第二次cp调用成功了。而且,这将被扩展(毕竟源代码形式看起来可读),它将不再变得易读。

4
将/ boot和MBR移至新驱动器
我有一个带有两个硬盘的CentOS 6服务器。我的旧3TB驱动器给我带来了一些问题,因此我将事情转移到了新驱动器上。由于my /和/homepartition由LVM管理,因此很容易将它们迁移到新驱动器。现在,我要移至/boot分区和MBR上,以使其全部启动。 我装入了一张实时CD,并rsynced在/boot分区上将其加载到新驱动器上的相同大小的分区上。我还尝试使用以下命令复制MBR: dd if=/dev/sda of=mbrbackup bs=512 count=1 dd if=mbrbackup of=/dev/sdb bs=446 count=1 完成此操作后,我重新启动,告诉我的BIOS在引导周期中不要查看旧的硬盘驱动器,而仅查看新的驱动器,但是最后我只剩下闪烁的光标。 我在这里错过了一步吗?还是我需要做些其他事情来使事情启动,以便完全删除旧驱动器? 编辑:我开始认为rsync不是将/ boot分区从一个驱动器复制到另一个驱动器的方法。根据本指南,我尝试使用dump命令。在此命令中,我将旧的未挂载的引导分区复制到了新的空挂载的引导分区。 dump -0f - /dev/sdaX | (cd /mnt/boot; restore -rf -) 我在启动时遇到grub错误15,这比闪烁的光标要好,但我不知道这是否更接近解决方案。
11 boot  dd  mbr  dump 



4
NetworkManager:将系统发送到睡眠状态时禁用网络
当我挂起笔记本电脑时,请NetworkManager禁用无线网络(中的nm-manager.c:do_sleep_wake)。 但是,我仍然希望在很短的时间内使用网络(卸载cifs挂载,否则将导致系统在恢复时无法使用)。 我怎样才能使NetworkManager 无法禁用我的网络?是否可以等待几秒钟(或者直到触发某些事件;或者释放锁)? 相关:pm-utils:暂挂脚本中没有网络? 调试日志: Feb 8 10:03:23 zenbook NetworkManager[3606]: <debug> [1360314203.373226] [nm-manager.c:3391] upower_sleeping_cb(): Received UPower sleeping signal Feb 8 10:03:23 zenbook NetworkManager[3606]: <info> sleep requested (sleeping: no enabled: yes) Feb 8 10:03:23 zenbook NetworkManager[3606]: <info> sleeping or disabling... Feb 8 10:03:23 zenbook NetworkManager[3606]: <info> (wlan0): now unmanaged 编辑:为了清楚起见,在脚本中/etc/pm/sleep.d执行并没有帮助,因为一旦执行脚本,网络已被禁用。



1
省略查找扩展名吗?
我需要从多个.png文件创建缩略图,并想使用ImageMagicks convert实用程序来做到这一点。为了递归查找所有本身不是缩略图的文件,我使用以下调用(分成两行以使其可读): find . -type f -name "*.png" -not -name "*thumb.png*" \ -exec convert {} -thumbnail 200x200 {}.thumb.png \;` 但这当然会在名为的文件上a.png.thumb.png运行时创建一个名为的文件a.png。如何.png从{}传递给转换的第二个参数中删除扩展名?
11 find  imagemagick 

2
为什么会有这么多虚拟终端设备?
我读过《高级Linux编程》一书,其中提到了虚拟终端,如果我正确理解的话,它是Linux特定的功能(Unix中没有),允许在非X11系统中使用多个登录控制台。您通过按ALT-F2键来创建虚拟终端。我正在运行Linux Mint,并且在我的/ dev文件夹中,尽管我看到很多tty设备,但我不知道它们的用途。这是grepped的输出: crw-rw-rw- 1 root tty 5, 0 Jan 2 19:45 tty crw--w---- 1 root tty 4, 0 Jan 2 19:10 tty0 crw-rw---- 1 root tty 4, 1 Jan 2 19:10 tty1 crw--w---- 1 root tty 4, 10 Jan 2 19:10 tty10 crw--w---- 1 root tty 4, 11 Jan …
11 linux  console  devices  tty 

1
为什么“ su -c <command>&”似乎允许命令在后台运行而不挂机
我正在帮助一位同事,他的后台进程间歇性地死了。 我发现他们通过登录服务器并执行以下操作来启动后台进程: su - &lt;user&gt; -c '&lt;command&gt;' &amp; 我大叫“啊哈”。“如果使用“&”启动命令,则退出控制终端时它将挂断。您需要使用诸如nohup之类的方法来实现此目的。确实,此过程需要支持作为守护程序运行,tut tut。 我们测试了上面的命令以证明我的观点,并且...似乎起作用了:当我们退出运行上述命令的终端时,由命令启动的过程并未退出。 command是一个自定义Python脚本,其输出将发送到文件。据我所知,脚本中没有智能化的“守护进程”功能。它不执行在Wikipedia:守护程序(计算):创建页面中列出的作为守护程序运行所需的任何操作。 像这样运行命令的行为符合预期: &lt;command&gt; &amp; exit 在上述情况下,当我们退出终端时,由命令启动的后台进程将退出。 我的问题是这样的: 当我们添加“ su--c&”阻止终端退出时进程退出时,会发生什么情况。我想详细了解控制端子,标准输入和输出等。 这是实现将此命令作为后台进程运行的目标的合理方法。如果不是,为什么呢? 我想在公司内部传播最佳做法,但是我需要能够证明和支持我提出的任何建议。 我也想了解到底发生了什么。

3
将文件访问限制为仅追加
我有一个包含日志文件的目录,并将用户启动的脚本中的日志放入其中。在这种情况下,似乎无法使用syslog登录。(非守护进程rsync) 我希望用户仅对日志文件具有写权限。问题在于,必须进一步限制写权限,以便用户(脚本)只能追加到该文件。底层文件系统是XFS。 以下内容不起作用: # chattr +a test.log chattr: Inappropriate ioctl for device while reading flags on test.log 还有其他解决方案吗?谢谢您的提示。
11 linux  permissions  logs  rsync  xfs 

6
从终端更改桌面墙纸
我在Cinnamon 1.6上运行Mint 13。我希望我的桌面墙纸可以根据一天中的时间自动更改。因此,想到的第一件事就是建立一个cron工作来为我做。问题是,我不知道如何从脚本/终端更改墙纸。 我想知道的是: 1)如何更改终端的背景? 2)是否已经有内置的方法?


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.