我是Bash shell脚本的新手,我在AWS EC2中运行了两个脚本作为cronjobs。
第一个脚本作为cronjob运行,每天将MySQL数据库备份复制到S3,并且脚本每天12点10分在服务器上运行。
#!/bin/bash
DAY_2=`(date --date='1 days ago' '+%m-%d-%y')`
cd /home/mysqlbackup/
tar -czvf $DAY_2.tgz /home/mysqlbackup/$DAY_2
s3cmd put /home/mysqlbackup/$DAY_2.tgz s3://mysql_backup/ubuntu/
第二个脚本也在同一台服务器上作为cronjob运行,以监控服务器的磁盘空间。该脚本每4小时运行一次。
#!/bin/sh
df -H | grep -vE '^Filesystem' | awk '{ print $5 " " $1 }' | while read output;
do
echo $output
usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 )
partition=$(echo $output | awk '{ print $2 }' )
if [ $usep -ge 85 ]; then
echo "Running Out Of Space On Mysql Backup Server \"$partition and Space Used ($usep%)\" On $(hostname) As On $(date)"|
/usr/bin/mail -s "Alert: Almost Out Of Disk Space. Space Used $usep%" xxx@example.com
fi
done
所以问题是我让这些脚本分开运行。我需要一个监视服务器磁盘空间的脚本,因此每当磁盘空间使用率达到85%以上时,它会自动将MySQL数据库备份自动复制到S3,如果磁盘空间使用率低于85%则意味着脚本通常应该在每天12点10分复制MySQL数据库备份。
我无法将这两个脚本合并到一个脚本中,因为我的编程技巧非常有限。所以我在Stack Overflow上发帖,寻求专业帮助来完成上述工作。
非常感谢任何帮助。