以下命令在提示符下工作,但不在 crontab 中工作。
grep abc /var/log/messages | grep "`date '+%B %d'`" | mail -s"abc log of `hostname`" shantanu.oak+`hostname`@gmail.com
Run Code Online (Sandbox Code Playgroud)
我需要将它添加到每日 cron 中。
我可以使用 ifconfig 或 hostname -i 命令找到我的 IP 地址。
但是我如何找到我的公共 IP?
(我有一个静态公共 IP,但我想使用 unix 命令找到它)
即使与 -p 选项一起使用,SCP 似乎也不会保留所有权标记。
scp -p /mysql/serv/data_summary.* some_server:/mysql/test/
Run Code Online (Sandbox Code Playgroud)
这些文件归 mysql 所有,我希望在目标服务器上分配相同的所有权。由于一些管理问题,我需要在两台服务器上以 root 身份复制文件。我无法更改为 mysql@
更改时间后是否需要重新启动服务器?当我更改日期时间并且没有重新启动 crond 时,我遇到了麻烦。
是否还有其他服务在时间更改后可能出现问题?
我使用 telnet 命令来检查 MySQL 端口是否正在响应。
telnet 10.10.10.24 3306
Run Code Online (Sandbox Code Playgroud)
我使用 ctrl 字符断开连接。这按预期工作。如何在 shell 脚本中使用此命令?
以下在命令提示符下按预期工作。但它不适用于 cron。
mysqldumpslow <(tail -1000 `mysqladmin variables \
| grep slow_query_log_file | awk '{print $4}'`) \
| mail -s "slow log from `hostname` sorted by time" shantanu.oak`hostname`@gmail.com \
> /root/slow_succ.txt 2> /root/slow_err.txt
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/bin/sh: -c: line 0: syntax error near unexpected token `('
Run Code Online (Sandbox Code Playgroud)
某些字符是否需要在 cron 中转义?还是 cron 中的 subshell 有问题?
如何抑制空白电子邮件?例如,在下面的例子中,我想
some command | mail -s "tables altered on `hostname`" me@company.com
Run Code Online (Sandbox Code Playgroud)
发送消息后,我收到以下消息:
Null message body; hope that's ok
Run Code Online (Sandbox Code Playgroud)
这不行。如果没有文字,我不想发送邮件。
删除用户后,该用户添加的 crontab 是否也被删除?我问这个是因为我可以在
/var/spool/cron/
Run Code Online (Sandbox Code Playgroud)
当我 cat 文件时,我可以看到该用户添加的 cron。用户不再存在,cron 将无法工作。但是为什么crontab文件还在呢?
如何安装屏幕?我可以看到一个屏幕正在以下输出中运行,但无法连接到它。
[root@vishnuvm6 ~]# screen -ls
There is a screen on:
15941.pts-18.vishnuvm6 (Detached)
1 Socket in /var/run/screen/S-root.
[root@vishnuvm6 ~]# screen -x vishnuvm6
There is no screen to be attached matching vishnuvm6.
Run Code Online (Sandbox Code Playgroud) 我有 2 个需要合并为一个的 gz 文件——也就是说,我想将两个 .gz 文件合并为一个,这样当我提取合并的文件时,我会得到一个包含原始输入文件串联的文件。
time join <(zcat r_TR2_2012-05-28-08-10-00.gz) <(zcat r_TR1_2012-05-28-08-10-00.gz)
Run Code Online (Sandbox Code Playgroud)
上面的语句没有按预期工作。我正在使用 3 个命令来完成所需的工作。
gunzip r_TR2_2012-05-28-08-10-00.gz
gunzip r_TR1_2012-05-28-08-10-00.gz
tar -zcvf combined.tar.gz r_TR1_2012-05-28-08-10-00 r_TR2_2012-05-28-08-10-00
Run Code Online (Sandbox Code Playgroud)
然后在提取文件时将文件连接在一起以生成我想要的输出。
有没有办法在 1 条语句中做到这一点?