您的位置:首页 > 运维架构 > Shell

Linux主机shell脚本一步备份笔记至手机,并实现轮转

2014-09-19 21:03 465 查看

折腾原因

机房网络拥挤,上传文件至网络上的私有云太慢,U盘太麻烦,便利用ES文件浏览器的FTP功能将笔记备份至手机上,后学习至rsysnc文件备份,同时想起Android是基于Linux的,便开始了此次折腾。

这是这一次折腾所绘制的思维导图~



环境概诉:

PC:Redhat 6.4

Android: ZET V985(安桌4.0.4 刷MIUI V4 已root )

PC IP: 172.16.20.65/16

Android IP:172.16.105.2/16

准备工具:

1.APK:Quicksshd,BusyBox,R.E管理器(各大Android市场均可下载,如木蚂蚁



2.手机连接至局域网wifi

安卓端:

1.运行Busybox,选智能安装即可。



2.运行quicksshd.



3.R.E管理器改权限



4.pc上打开一个终端,然后运行以下命令(输出信息已省略)。

<span style="font-size:18px;">[root@yu ~]#ssh-keygen			#生成密钥对,有的话就不用敲了。
[root@yu ~]# ssh-copy-id -i 172.16.105.2 #将公钥复制到Android Phone上,使以后登录免密码。</span>


脚本编写
1:rotate.sh

<span style="font-size:18px;">root@android:/my_shell_scripts # cat rotate.sh           # 实现笔记轮转保留5个备份
dir="/mnt/sdcard/cherrytree/"
[[ -f ${dir}yxp5.ctb ]] && rm ${dir}yxp5.ctb
for i in 4 3 2 1
do
if [[ -f ${dir}yxp$i.ctb ]];then
mv ${dir}yxp$i.ctb ${dir}yxp$((i+1)).ctb
fi
done
[[ -f ${dir}yxp.ctb ]] && mv ${dir}yxp.ctb ${dir}yxp1.ctb
echo "*****************************"
echo "Name is changed success!"
echo "*****************************"
root@android:/my_shell_scripts # pwd
/my_shell_scripts</span>



2:bak_note.sh

<span style="font-size:18px;">[root@yu aa] # cat bak_note.sh
ssh 172.16.0.166 /my_shell_scripts/rotate.sh	#ssh远程执行脚本
scp /root/桌面/yxp.ctb 172.16.0.166:/mnt/sdcard/cherrytree	#scp传文件
echo "*****************************"
echo "Note bak is success!"
echo "*****************************"</span>


效果截图

备份过程




bak_note.sh运行五次以上后,依然还是五个备份

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: