LINUX:邮件发送文件内容作为邮件内容

时间:2015-03-09 09:05:01

标签: linux email

我创建了一个.sh脚本,并将结果记录在一个文件中,执行后我会尝试将文件内容作为mail正文发送。

这是我运行的命令:

sh update.sh >> update.$(date +"%Y-%m-%d:%H").txt 2>&1 && mail -s "Integration : import du $(date +%Y-%m-%d) a $(date +%H)h" sample@example.com < update.$(date +"%Y-%m-%d:%H").txt 

这样好吗?

以下是update.sh的代码:

#!/bin/ksh
. /root/.bash_profile

red='\033[0;31m'
green='\033[0;32m'
yellow='\033[1;33m'
blue='\033[0;34m'
purple='\033[0;35m'
NC='\033[0m' # No Color
DATE=$(date +%d-%m-%Y\ %H:%M:%S)
quiet=
composer=

echo " "
echo -e "  ${green}[${DATE}]${purple}  Mise a jour de dalia${NC}"
echo " "

function update_composer {
    if [ "$composer" == 1 ]; then
        echo " "
        echo -e "  ${yellow}Mise a jour de composer (des vendors)${NC}"
        if [ "$quiet" == 1 ]; then
            composer update --prefer-dist -q
        else
            composer update --prefer-dist
        fi
        echo " "
    fi
}

function update_db {
    echo " "
    echo -e "  ${yellow}Mise a jour de la base de donnee${NC}"
    if [ "$quiet" == 1 ]; then
        php app/console doctrine:schema:update --force -q
    else
        php app/console doctrine:schema:update --force
    fi
    echo " "
}

function update_svn {
    echo " "
    echo -e "  ${yellow}Mise a jour depuis svn${NC}"
    if [ "$quiet" == 1 ]; then
        svn update -q
    else
        svn update
    fi
    echo " "
}

function install_assets {
    echo " "
    echo -e "  ${yellow}Installation des assets${NC}"
    if [ "$quiet" == 1 ]; then
        php app/console assets:install --env=prod -q && php app/console assetic:dump --env=prod -q
    else
        php app/console assets:install --env=prod && php app/console assetic:dump --env=prod
    fi
    echo " "
}

function cache_clear {
    echo " "
    echo -e "  ${yellow}Effacement du cache de prod${NC}"
    if [ "$quiet" == 1 ]; then
        php app/console cache:clear --env=prod -q
    else
        php app/console cache:clear --env=prod
    fi
    echo " "
}

while [ "$1" != "" ]; do
    case $1 in
        -q | --quiet )          quiet=1
;;
-c | --composer )       composer=1
;;
esac
shift
done

while [ "$2" != "" ]; do
    case $2 in
        -q | --quiet )          quiet=1
;;
-c | --composer )       composer=1
;;
esac
shift
done

update_svn
update_composer
update_db
cache_clear
install_assets
cache_clear

echo " "
echo -e "  ${blue}Changement des permissions${NC}"
chmod 777 -R * && chown apache:apache -R *
echo " "

echo -e "  ${green}Fait${NC}"

echo " "

1 个答案:

答案 0 :(得分:0)

  

终端颜色代码在电子邮件中不起作用

就是这样,我删除了所有颜色并将所有echo -e替换为echo,邮件内容也很好。

相关问题