我用来date \+%F\-%T以这种格式显示日期和时间:2019-08-15-21:34:58.
来自man date:
%F完整日期;与 %Y-%m-%d
%T时间相同;与 %H:%M:%S 相同
我承认没有解释\+或\-。
后来我明白反斜杠是转义的,加号是参数前缀,连字符只是一个类似字符串的分隔(日期-时间),
而且,有些人使用更简单的+'%F-%T'或+"%F-%T"代替。
是否有理由在日期参数中使用 + 或 - ?
嗨,当我使用 cronjob 提交 shell 脚本时,我面临以下问题。
我附上了备份帮助命令。
* * * * * ankush /home/ankush/test.sh
backup: Unrecognized operation 'codebak'; type 'backup help' for list
backup help list
backup: Commands are:
adddump add dump schedule
addhost add host to config
addvolentry add a new volume entry
addvolset create a new volume set
apropos search by help text
dbverify check ubik database integrity
deldump delete dump schedule
deletedump delete dumps from the database
delhost delete host to config
delvolentry delete a volume set sub-entry …Run Code Online (Sandbox Code Playgroud) 我设置了这个 cronjob 因为我希望我的服务器每天在 05:00 重新启动
# file: /etc/cron.d/reboot
* 5 * * * root reboot &> /dev/null
Run Code Online (Sandbox Code Playgroud)
我认为它第一次奏效,因为我被踢出了 ssh 连接。但是现在我几天后回来发现了这个:
$ uptime
07:12:13 up 7 days
Run Code Online (Sandbox Code Playgroud)
这是否意味着它在 7 天内没有重新启动?怎么了?
我正在阅读这篇关于从我的新 Linux VM 中清除缓冲区/缓存的文章,因为它们占用了我 1/3 的 RAM,所以我运行了这个:
sync; echo 1 > /proc/sys/vm/drop_caches
这立即解决了这个问题,所以我要把它添加到我的 cronjob 中。文章说要创建一个clearcache.sh包含内容的文件:
#!/bin/bash
# Note, we are using "echo 3", but it is not recommended in production instead use "echo 1"
echo "echo 3 > /proc/sys/vm/drop_caches"
Run Code Online (Sandbox Code Playgroud)
怎么了sync?不需要运行它才能工作吗?为什么在 cronjob 中回显 echo 会运行该命令?我在命令行上尝试了这个,正如预测的那样,它只是回显了命令。
# echo "echo 3 > /proc/sys/vm/drop_caches"
echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)
这是我不知道的某种神奇的 cron 功能吗?