[gysd@localhost nhbak]$ pwd
/home/gysd/nhbak
[gysd@localhost nhbak]$ ll
总用量 8
drwxrwxr-x 3 gysd gysd 22 7月 7 22:04 data
-rw-r--r-- 1 gysd gysd 2152 7月 7 22:04 nhbak.log
-rwxr--r-- 1 gysd gysd 607 7月 7 21:59 nhbak.sh
[gysd@localhost nhbak]$ crontab -l
0 6 * * * $HOME/nhbak/nhbak.sh >$HOME/nhbak/nhbak.log 2>&1
[gysd@localhost nhbak]$ cat nhbak.sh
#!/bin/bash
. $HOME/.bash_profile
echo =================`date +%Y-%m-%d~%H:%M:%S`===start
cd $HOME/nhbak
user='xxx'
ip='xxx'
passwd='xxx'
yestoday=`date -d yesterday +%Y%m%d`
remote_dir=/D:/xxx/DataBackup/${yestoday}
local_dir=./data
/usr/bin/expect <<-EOF
set timeout -1
spawn scp -r ${user}@${ip}:${remote_dir} ${local_dir}
expect {
"*yes/no" { send "yes\r"; exp_continue }
"*assword:" { send "${passwd}\r" }
}
expect eof
EOF
#delete bak files 30 days ago
find $HOME/nhbak/data -mtime +30 |xargs rm -rf
echo =================`date +%Y-%m-%d~%H:%M:%S`===end
[gysd@localhost nhbak]$
linux shell脚本 scp expect find crontab
最新推荐文章于 2023-12-03 18:44:12 发布