【问题标题】:LINUX : mail send file content as mail contentLINUX:邮件发送文件内容作为邮件内容
【发布时间】:2015-05-10 09:19:55
【问题描述】:

我创建了一个.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 " "

【问题讨论】:

  • 你能给我看看你的脚本代码吗?
  • 终端颜色代码在电子邮件中不起作用。
  • 这就是我将日志内容作为.dat 文件接收的原因?

标签: linux email


【解决方案1】:

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

就是这样,我把所有颜色都去掉了,把echo -e全部换成echo,邮件内容就不错了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-08
    • 2015-08-08
    • 1970-01-01
    • 2018-08-06
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多