Shell脚本-文件备份

一曲冷凌霜 提交于 2020-01-27 17:33:01

适用场景:需对脚本里的一些参数做配置,备份指定目录,tar压缩存放,通过scp将备份文件存放在另一台服务器。可自动执行,无执行周期设定。

#!/bin/bash
source_dir='/data/docj/'
tar_file='attachment'
target_dir='/data/backup/attachment/'
tmp_dir='/data/tmp/'
current_time=$(date +'%Y-%m-%d_%H%M%S')
login_user='root'
login_ip='192.168.142.154'
echo "----$0-$current_time-文件备份打包开始----"
cd $source_dir
tar -zcf $tmp_dir${current_time}.tar.gz $tar_file
echo "----$0-$current_time-文件发送开始----"
expect -c "
spawn scp $tmp_dir${current_time}.tar.gz $login_user@$login_ip:$target_dir
expect {
   \"*assword*\"
                {
                    set timeout 600;
                    send \"123456\r\";
                }
    \"*yes/no*\"
                {
                    send \"yes\r\"; exp_continue;
                }
     }
expect eof"
rm -f $tmp_dir*
echo "----$0-$current_time-文件备份执行结束----"
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!