下载文件_发送邮箱shell脚本Problems&Solutions

  1. 发送邮件选择何种方式:
    echo test | mail -s "test" -a /xxx/xxx/xxx.xx [email protected]
    -a 添加附件
  2. 判断文件是否存在:
if [ -f "$fileName" ]; then
    xxxx
else
    xxx
fi
  1. 用sftp下载文件demo:
#!/bin/bash
#用户
USER=xxx
#密码
PASSWORD=xxx

#本机所需下载到的目录名称
dir=abc01
cd ${dir}

#sftp目录(待下载文件目录)
dir=abc

#sftp的IP
IP=xxx.xxx.xxx.xxx
#端口
#PORT=22

lftp -u ${USER},${PASSWORD} sftp://${IP} << EOF
cd  ${dir}
#mget -c *
#filename为要下载的文件名
get filename
by
EOF

其中的两个EOF标识下载流程的开始和结束,EOF可以自定义,前后对应就行,也可以用<<-EOF xxx EOF 加上- 可以省略后一个EOF前面的空格和制表符等

  1. 发送带附件的邮件提示:message file too big 错误代码1000
    解决办法: 在命令行中设置 postfix 的 message_size_limit 的值
[root@localhost ~]# postconf -e "message_size_limit=409600000"            //设置400MB
  1. 设置shell脚本自动定时执行:用crontab
    1)通过chmod命令赋予该脚本执行权限 chmod 700 xxx.sh 不要哪里都用755
    2)先查看crontab服务是否启动 service crond status
    3)若没有启动则先启动服务 service crond start
    4)新增调度任务:可用两种方法:
    *1 在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。如:
    */60 * * * * /xxx/xxx.sh
    *2 直接编辑 /etc/crontab 文件,即 vi /etc/crontab,添加相应的任务。
    crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务
    5)查看调度任务
    crontab -l //列出当前的所有调度任务
    crontab -l -u ce //列出用户ce的所有调度任务
    删除任务调度工作
    6)crontab -r //删除所有任务调度工作

你可能感兴趣的:(下载文件_发送邮箱shell脚本Problems&Solutions)