请帮帮忙。我一直在尝试运行一个脚本,其中首先我需要检查NAS框是否通过PING打开,如果是,那么挂载NAS并启动rsync。BUt,如果NAS是关闭的,发送一个WOL包,然后(睡眠6米,我知道NAS盒需要5分钟。在完全打开电源并在网络上可用之前,再次进行PING以确保NAS已经启动,然后挂载NAS并启动Rsync。
下面是我正在使用的脚本
#!/bin/bash
VAR=`ping -s 1 -c 2 desknas > /dev/null; echo $?`
if [ $VAR -eq 0 ]; then
echo "NAS BOX is up - Mounting NAS Share"
mount /mnt/NAS | echo "NAS Mounted Successfully"
fi
if [ $VAR -gt 0 ]; then
wakeonlan 00:xx:xx:xx:xx:xx | echo "NAS not turned on. WOL sent to NAS"
fi
sleep 6m
if [ $VAR -eq 0 ]; then
echo "NAS is UP - Mounting NAS Share"
mount /mnt/NAS | echo "NAS Mounted Successfully"
fi脚本工作到唤醒NAS,然后等待6分钟,然后退出而不挂载NAS份额。
有人能告诉我我做错了什么吗?为什么它不去增加份额??
请帮帮忙。
你好,法鲁克·艾哈迈德
发布于 2013-12-28 14:29:29
当你唤醒NAS之后,在检查ping结果之前,你应该再次打开机器.难到不是么?
新年快乐!
#!/bin/bash
VAR=`ping -s 1 -c 2 desknas > /dev/null; echo $?`
if [ $VAR -eq 0 ]; then
echo "NAS BOX is up - Mounting NAS Share"
mount /mnt/NAS && echo "NAS Mounted Successfully"
fi
if [ $VAR -gt 0 ]; then
wakeonlan 00:xx:xx:xx:xx:xx && echo "NAS not turned on. WOL sent to NAS"
fi
sleep 6m
VAR=`ping -s 1 -c 2 desknas > /dev/null; echo $?`
if [ $VAR -eq 0 ]; then
echo "NAS is UP - Mounting NAS Share"
mount /mnt/NAS && echo "NAS Mounted Successfully"
fi发布于 2013-12-31 10:55:16
我能够完成任务,首先检查NAS框是否已通过PING打开,如果是,则挂载NAS并启动rsync (最后我使用了dd命令)。但是,如果NAS是关闭的,发送一个WOL包,然后(睡眠6米,我知道NAS盒需要5分钟。在完全启动并在网络上可用之前,再次进行PING,以确保NAS已经启动,然后安装NAS并启动备份过程。
下面是代码
#!/bin/bash
#####################VARIABLES DEFINED##########################
TIMESTAMP=`date +%d%m%y%s
LOGFILE=/root/logs/$TIMESTAMP/Rsync_Backup_`date +%d%m%y%s`.log
VAR=`ping -s 1 -c 2 desknas > /dev/null; echo $?
PING=`ping -s 1 -c 4 desknas > /dev/null; echo $?
################################################################
mkdir /root/logs/$TIMESTAMP
if [ $VAR -eq 0 ]; then
echo "NAS BOX is up"
if df | grep -q '/mnt/NAS$'
then
echo "Found mount point, running task"
echo "Backup starts for the RasPi" >> $LOGFILE
echo "=================================" >> $LOGFILE
pv -tpreb /dev/mmcblk0 | dd of=/mnt/NAS/Admin01/RasPi_dd_image/RasPi_dd_image_`date +%d%m%y%s`.img bs=4M 2>> $LOGFILE
echo "=================================" >> $LOGFILE
echo "Backup Completed Successfully" >> $LOGFILE
umount /mnt/NAS | echo "NAS UNMOUNTED" >> $LOGFILE
echo "-----------------------------------------" >> $LOGFILE
echo "Rsync Completed Successfully at $(date)" >> $LOGFILE
echo "SSHing into NAS to perform Shutdown" >> $LOGFILE
sshpass -p 'password' ssh desknas 'shutdown -p now' >> $LOGFILE
sleep 5
mail -a "From: RASeServer <example@email.com>" -s "RasPi Backup(dd) Status" user@gmail.com < $LOGFILE
else
echo "NAS not mounted - Mounting NAS Share" >> $LOGFILE
mount /mnt/NAS | echo "NAS Mounted Successfully" >> $LOGFILE
echo "Backup starts for the RasPi" >> $LOGFILE
echo "=================================" >> $LOGFILE
pv -tpreb /dev/mmcblk0 | dd of=/mnt/NAS/Admin01/RasPi_dd_image/RasPi_dd_image_`date +%d%m%y%s`.img bs=4M 2>> $LOGFILE
echo "=================================" >> $LOGFILE
echo "Backup Completed Successfully" >> $LOGFILE
umount /mnt/NAS | echo "NAS UNMOUNTED" >> $LOGFILE
echo "-----------------------------------------" >> $LOGFILE
echo "Rsync Completed Successfully at $(date)" >> $LOGFILE
echo "SSHing into NAS to perform Shutdown" >> $LOGFILE
sshpass -p 'password' ssh desknas 'shutdown -p now' >> $LOGFILE
sleep 5
mail -a "From: RASeServer <example@email.com>" -s "RasPi Backup(dd) Status" user@gmail.com < $LOGFILE
fi
fi
if [ $VAR -gt 0 ];then
echo "Rsync Process starts at $(date)" >> $LOGFILE
echo "-----------------------------------------" >> $LOGFILE
wakeonlan 00:00:00:00:00:00 | echo "NAS not turned on. WOL sent to NAS" >> $LOGFILE
sleep 6m | echo "Waiting 6 Minutes" >> $LOGFILE
if [ $PING -eq 0 ];then
echo "NAS is UP - Mounting NAS Share" >> $LOGFILE
mount /mnt/NAS | echo "NAS Mounted Successfully" >> $LOGFILE
echo "Backup starts for the RasPi" >> $LOGFILE
echo "=================================" >> $LOGFILE
pv -tpreb /dev/mmcblk0 | dd of=/mnt/NAS/Admin01/RasPi_dd_image/RasPi_dd_image_`date +%d%m%y%s`.img bs=4M 2>> $LOGFILE
echo "=================================" >> $LOGFILE
echo "Backup Completed Successfully" >> $LOGFILE
umount /mnt/NAS | echo "NAS UNMOUNTED" >> $LOGFILE
echo "-----------------------------------------" >> $LOGFILE
echo "Rsync Completed Successfully at $(date)" >> $LOGFILE
echo "SSHing into NAS to perform Shutdown" >> $LOGFILE
sshpass -p 'password' ssh desknas 'shutdown -p now' >> $LOGFILE
sleep 5
mail -a "From: RASeServer <example@email.com>" -s "RasPi Backup(dd) Status" user@gmail.com < $LOGFILE
else
echo "NAS can't be turned on - Please Check Network Connections" | mail -a "From: RASeServer <example@email.com>" -s "RasPi Backup(dd) Failed on $(date)" user@gmail.com
fi
fi你好,法鲁克·艾哈迈德
@Johannsa @Aif
https://stackoverflow.com/questions/20741363
复制相似问题