利用crontab命令在每天23点到06点之间,每隔30分钟显示/var/log/下的文件,将其中的文件夹名称及个数输出到个人工作路径的shedule.md文件中,其他文件名及个数输出到个人工作路径的shedule.mf文件中。
时间: 2024-03-10 08:46:01 浏览: 16
好的,我理解了你的问题。你可以使用以下命令来实现你的需求:
```
*/30 23,0-5 * * * echo "Directories:" && ls -l /var/log/ | grep ^d | awk '{print $9}' | tee -a ~/shedule.md && echo -e "\nFiles:" && ls -l /var/log/ | grep -v ^d | awk '{print $9}' | tee -a ~/shedule.mf
```
这个命令会在每天的23点到06点之间,每隔30分钟显示/var/log/下的文件夹名称及个数,将其中的文件夹名称及个数输出到个人工作路径的shedule.md文件中,其他文件名及个数输出到个人工作路径的shedule.mf文件中。
解释一下这个命令:
- `*/30 23,0-5 * * *` 意味着在每天的23点到06点之间,每隔30分钟执行一次命令。
- `echo "Directories:"` 输出一个"Direcotries:"的字符串。
- `ls -l /var/log/ | grep ^d | awk '{print $9}'` 列出/var/log/下的所有文件和文件夹,并且只显示文件夹的名称。
- `tee -a ~/shedule.md` 把上一步的输出写入到~/shedule.md文件中,并且同时输出到屏幕上。
- `echo -e "\nFiles:"` 输出一个"Files:"的字符串,并且换行。
- `ls -l /var/log/ | grep -v ^d | awk '{print $9}'` 列出/var/log/下的所有文件和文件夹,并且只显示文件的名称。
- `tee -a ~/shedule.mf` 把上一步的输出写入到~/shedule.mf文件中,并且同时输出到屏幕上。
注意:这个命令假设你有写入~/shedule.md和~/shedule.mf的权限。如果没有,请使用sudo命令或者联系系统管理员。