服务器升级替换文件快速备份与回滚

服务器升级替换文件快速备份与回滚

由于升级回退问题把我坑了一下,ansible的copy backup固然好用,可是回退却特别坑人,因为backup备份是有准确时间的,所以想到了以下方法,当然你可以写playbook,希望读者提出更好的建议

思路:
利用ansible

利用简单脚本

#脚本内容展示
ybt root /etc/ansible/A #cat bak.sh 
#!/bin/bash
for i in `cat 3.txt`;do cp $i $i.bak2021_07_29; done
#for i in `cat 3.txt`; do  mv  $i{.bak2021_07_29,}; done

示例:

#展示升级文件
ybt root /etc/ansible/A #cat 3.txt 
pro 
scf
scf1
备份:
#将升级文本COPY到远程服务器
ybt root /etc/ansible/A #ansible test -m copy -a 'src=3.txt dest=/root/cin/etc/'
#查看3.txt是否存在
ybt root /etc/ansible/A #ansible test -m shell -a 'ls /root/cin/etc/'
192.168.23.137 | CHANGED | rc=0 >>
3.txt
pro
scf
scf1
ybt
192.168.23.138 | CHANGED | rc=0 >>
3.txt
pro
scf
scf1
ybt

#备份
#执行脚本第一句,第二句注释
#!/bin/bash
for i in `cat 3.txt`;do cp $i $i.bak2021_07_29; done
#for i in `cat 3.txt`; do  mv  $i{.bak2021_07_29,}; done

#示例:
ybt root /etc/ansible/A #ansible test -m script -a 'chdir=/root/cin/etc/ bak.sh'
#查看是否备份成功
ybt root /etc/ansible/A #ansible test -m shell -a 'ls /root/cin/etc/'
192.168.23.137 | CHANGED | rc=0 >>
3.txt
pro
pro.bak2021_07_29
scf
scf1
scf1.bak2021_07_29
scf.bak2021_07_29
ybt
192.168.23.138 | CHANGED | rc=0 >>
3.txt
pro
pro.bak2021_07_29
scf
scf1
scf1.bak2021_07_29
scf.bak2021_07_29
ybt
回滚:
#执行脚本第二句,第一句注释
#!/bin/bash
#for i in `cat 3.txt`;do cp $i $i.bak2021_07_29; done
for i in `cat 3.txt`; do  mv  $i{.bak2021_07_29,}; done

#示例:
#执行脚本
ybt root /etc/ansible/A #ansible test -m script -a 'chdir=/root/cin/etc/ bak.sh'
192.168.23.137 | CHANGED => {
    "changed": true, 
    "rc": 0, 
    "stderr": "Shared connection to 192.168.23.137 closed.\r\n", 
    "stderr_lines": [
        "Shared connection to 192.168.23.137 closed."
    ], 
    "stdout": "", 
    "stdout_lines": []
}
192.168.23.138 | CHANGED => {
    "changed": true, 
    "rc": 0, 
    "stderr": "Shared connection to 192.168.23.138 closed.\r\n", 
    "stderr_lines": [
        "Shared connection to 192.168.23.138 closed."
    ], 
    "stdout": "", 
    "stdout_lines": []
}
#查看结果
ybt root /etc/ansible/A #ansible test -m shell -a 'ls /root/cin/etc/'
192.168.23.137 | CHANGED | rc=0 >>
3.txt
pro
scf
scf1
ybt
192.168.23.138 | CHANGED | rc=0 >>
3.txt
pro
scf
scf1
ybt

替换:

不在示例:直接用COPY模块即可

posted @ 2021-07-29 17:28  ybt&kexiao  阅读(172)  评论(0编辑  收藏  举报