我正在使用Carbon Copy Cloner备份一些文件并在备份过程完成后运行shell脚本。
注意:您可以在Carbon Copy Cloner中保存计划备份,并将其设置为在备份后运行特定的shell脚本。
shell脚本emailbackupstatus.sh看起来像这样,工作正常:
#!/bin/sh
(sleep 10; /usr/libexec/PlistBuddy -c "Print" /Library/Logs/CCC.stats | tail -n 9 | mail -s "Backup completed" myname@mydomain.com) &
注意:遗憾的是,plist文件CCC.stats不包含我保存的备份计划的名称。
但由于我每天都有几个预定的备份,每天都会收到几封相同的电子邮件。因此,我想在shell脚本中附加一个变量,以便我可以将电子邮件更改为以下内容: “备份$ backupName已完成”
将变量传递给shell脚本:
有可能以某种方式将变量传递给我的shell脚本,就像你可以用PHP中的GET url变量一样吗?这样的事情:emailbackupstatus.sh&$backupName="Just testing"
甚至更好:
只需在Carbon Copy Cloner中获取已保存的已保存备份的名称,并将其附加到电子邮件主题中?
我收到的电子邮件如下:
Dict {
targetDisk = root@backup.myserver.net:/ Volumes / BACKUPDESTINATION /
date = Sun Dec 28 00:24:52 CET 2010
dataCopied = 0
elapsedTime = 1467.495361
sourceDisk = / Volumes / BACKUPSOURCE
exitStatus = 0
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
$ ./script.sh foo bar mysubject
可以通过示例访问位置(编号)变量:
#!/bin/bash
echo "Hello arg1=$1 and arg2=$2"
echo "here I am" |mail -s "My submject is $3" me@domain.com