当我从命令行运行我的 PHP 脚本时,我收到以下通知。我认为原因是这些变量(如 SERVER_NAME)在没有浏览器的情况下运行时不适用。
在我的代码中,如何检测它是从命令行运行并跳过这些行,所以我不必看到这些通知?
我不想通过管道到 /dev/null 来阻止这些通知,我宁愿增强 PHP 代码。
david@ubuntu:/var/www/user$ php cron_email.php
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Notice: Undefined index: SERVER_NAME in /var/www/user/codestart.php on line 14
PHP Notice: Undefined index: REMOTE_ADDR in /var/www/user/codestart.php on line 97
PHP Notice: Undefined index: REQUEST_URI in /var/www/user/codestart.php on line 99
PHP Notice: Undefined index: HTTP_REFERER in /var/www/user/codestart.php on line 100
PHP Notice: Undefined index: REQUEST_METHOD in /var/www/user/codestart.php on line …Run Code Online (Sandbox Code Playgroud) 我在家里和工作中都使用我的个人笔记本电脑,在这两种情况下我都安装了 nfs 共享。我想在每次打开笔记本电脑时自动安装这些共享。
我不能让它成为一个正常的启动命令来运行,因为无线连接需要大约半分钟才能定位网络并连接。
所以我想写一个脚本,每 5 秒检查一次我是否连接到网络以及网络的 essid 是什么,以便我可以安装适当的共享。
我查看了 iwconfig 和 ifconfig,但没有一个返回 essid,只有一个实际的 IP 地址。
ifconfig 返回...
eth0 Link encap:Ethernet HWaddr 00:26:2d:a2:01:a8
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:16
eth1 Link encap:Ethernet HWaddr f0:7b:cb:45:36:b2
inet addr:192.168.0.48 Bcast:192.168.3.255 Mask:255.255.252.0
inet6 addr: fe80::f27b:cbff:fe45:36b2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:30972 errors:0 dropped:0 overruns:0 frame:124824
TX packets:31414 errors:16 dropped:0 …Run Code Online (Sandbox Code Playgroud) 有没有办法在使用 locate 或 find 命令时显示 -l 在 ls 中所做的所有信息(权限、日期等)?
我想检查普通用户是否具有超级用户权限(意味着 root 权限)。我的操作系统是 RHEL 6,我检查了/etc/passwd配置文件,但没有用。请告诉我在 Linux 机器中查找用户当前权限的任何方法。
我为 Ruby on Rails 应用程序运行了一个名为“delayed_job”的脚本。选项之一是使用单独的监视器 proc 运行此 proc。当主 proc 死亡时,监视器会产生一个新的。我也可以运行多个进程。每个都有自己的关联监控进程。
该脚本提供了一种杀死主进程而不是监视进程的方法。我想杀了他们所有人。
一个命令:
ps -ef|grep delayed
Run Code Online (Sandbox Code Playgroud)
产量:
42011 29423 1 0 Sep25 ? 00:00:02 delayed_job.0_monitor
42011 29428 1 0 Sep25 ? 00:00:02 delayed_job.1_monitor
42011 29434 1 0 Sep25 ? 00:00:02 delayed_job.2_monitor
42011 29437 1 0 Sep25 ? 00:00:01 delayed_job.3_monitor
42011 23359 1 10 Oct19 ? 03:12:49 delayed_job.0
42011 8607 1 5 Oct19 ? 00:58:42 delayed_job.3
42011 21442 1 44 12:31 ? 01:02:03 delayed_job.2
42011 23092 1 4 14:18 ? 00:01:22 delayed_job.1 …Run Code Online (Sandbox Code Playgroud) 我有一个要运行的命令(在这种情况下是一个 php5 脚本),我想知道是否有什么东西可以运行这个命令并选择要运行的核心。
我想要做的是为每个核心运行 1 个命令以使用我服务器的多个核心。
任何的想法?或者我必须用其他支持多核的语言重写脚本并直接在脚本中开发核心控件?
我正在尝试使用该zip -r命令来压缩包含两个文件的文件夹。我需要用两个文件传递文件夹的绝对路径(/path/to/my/files/),这会导致所有文件夹都被压缩,因为我只需要(files/)压缩最后一个文件夹及其内容,以便在解压缩文件时,只有一个文件夹和其中的两个文件。如何修改命令以便能够在仅保留最后一个文件夹的同时传递参数中的绝对路径?
我想知道属于 1 个 OU,但该 OU 也属于另一个 OU 的用户的 UserDN(用户专有名称)是什么。
第一个 OU 的 UserDN:“CN=George Luong,OU=People,DC=quang,DC=com”
看图看看我想知道什么!

我想定期(例如使用 cron)生成一个图像(例如 png),其中包含 CPU 使用情况、内存使用情况、磁盘 I/O 负载和网络使用情况的图表。
我想要一些不太难看的东西,所以gnuplot图表有点粗糙,但如果这是唯一的选择,我还是会接受它。
经过半小时的谷歌搜索,我一直无法找到一个简单的工具来做到这一点,而无需进行大量配置。
我想过使用conky并要求它渲染到文件而不是在屏幕上显示图形,但是我找不到conky. 我想到的唯一解决方案是启动一个虚拟的 Xorg 会话,让 conky 运行它,并定期截取屏幕截图。
我还看到了大量关于使用dstat或类似工具的博客文章等,但这些生成的文本报告,而不是图表。
是否有一个命令行工具设置起来非常简单,可以生成(漂亮的)GPU 图形和类似的图形,而无需我进行大量配置?
就像是:
generategraph --cpu --interval 300 --output mygraph.png
Run Code Online (Sandbox Code Playgroud)
编辑:
迄今为止引用的其他工具(rrdtool、mrtg、zabbix、orca)的问题在于它们是专为全职网络管理员设计的企业级软件。我只想要一些简单的东西,我可以在一个小盒子上运行并在几秒钟内设置好,而不是花几天时间来配置它。
我刚刚意识到我问的是 serverfault 而不是我想要的超级用户,所以这解释了我得到的答案:) 谢谢大家,很抱歉浪费你的时间,我请求关闭这个问题/迁移到超级用户。
我在服务器上有一个文件夹,其中包含每天创建并按日期命名的目录,如下所示:
07-06-14
08-06-14
09-06-14
Run Code Online (Sandbox Code Playgroud)
等等。
在某些时候,我决定首选命名格式如下:2014-06-07 并且新文件夹使用该格式创建。所以现在该文件夹包含:旧格式的目录和新格式的目录。
如何将旧格式的目录批量重命名为新格式?
我试过这个: rename -n 's/(\d{2})\-(\d{2})\-(\d{2})\20$3-$2-$1//' *
但它抛出错误:
Use of uninitialized value $2 in regexp compilation at (eval 1) line 1