15.第11章 进程和计划任务

1.每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式为"etcbak-yyyy-mm-dd-HH.tar.xz",其中日期是前一天的时间

root@ubuntu2004:~# vim etc_backup.sh
#!/bin/bash
#
#********************************************************************
#Author:            zhanghui
#QQ:                19661891
#Date:              2020-12-20
#FileName:         etc_backup.sh
#URL:               www.neteagles.cn
#Description:      The test script
#Copyright (C):     2020 All rights reserved
#********************************************************************
[ -d /backup ] || mkdir /backup
dpkg -S xz >/dev/null
[ $? -eq 0 ] || apt -y install xz-utils >/dev/null
DATEFORMAT=`date -d '-1 day' "+%Y-%m-%d-%H"`
tar -Jcf /backup/etcbak-$DATEFORMAT.tar.xz /etc &> /dev/null

root@ubuntu2004:~# bash etc_backup.sh 
root@ubuntu2004:~# ll /backup
total 464
drwxr-xr-x  2 root root   4096 Dec 20 21:06 ./
drwxr-xr-x 22 root root   4096 Dec 20 20:54 ../
-rw-r--r--  1 root root 466612 Dec 20 21:05 etcbak-2020-12-19-21.tar.xz

root@ubuntu2004:~# crontab -e
30 1 * * 0 /root/etc_backup.sh

2.每两小时取出当前系统/proc/meminfo文件中以S或M开头的信息追加至/tmp/meminfo.txt文件中。

root@ubuntu2004:~# crontab -e
1 */2 * * * grep -E "^S|^M" /proc/meminfo >> /tmp/meminfo.txt 

3.工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高于80%,就执行wall警报。

root@ubuntu2004:~# cat disk_check.sh 
#!/bin/bash
#
#********************************************************************
#Author:		    zhanghui
#QQ: 			    19661891
#Date: 			    2020-12-20
#FileName:		    disk_check.sh
#URL: 			    www.neteagles.cn
#Description:		The test script
#Copyright (C): 	2020 All rights reserved
#********************************************************************
WARNING=80
df|sed -rn '/^\/dev\/sd/s#^([^ ]+).* ([0-9]+)%.*#\1 \2#p' |while read part use ;do
    [ $use -ge $WARNING ] && echo "$part will be full,use:$use" |mail -s "wall" root
done

root@ubuntu2004:~# crontab -e
*/10 * * * 1-5 /root/disk_check.sh 
上一篇:Linux Shell随手簿


下一篇:Ubuntu : 无法将“Ubuntu”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。