|
楼主 |
发表于 2021-4-1 00:16
|
显示全部楼层
本帖最后由 menwajones 于 2021-4-1 20:12 编辑
omv与android手机定时同步方法。
在局域网内,手机可以安装folder sync pro用smb协议来同步手机内容,好方便。用sftp协议要用root登录操作可能涉及到文件权限问题,在其他方式如灯大的filebrowser下修改和删除不了文件。用webdav协议可能传输文件太慢了或传输不了大文件,在几年前owncloud或nextcloud就领教了。
在外网因怕勒索病毒,我可不敢映射SMB的445到公网,folder sync pro就没得搞,那必须要有替代APP才行!好早就想到用rsync这种方式同步,因为OMV,DSM都有rsync,但就是android手机找不到直接支持rsync的app。后来发现termux可以安装rsync,我一番折腾下来,搞定了OMV与ANDROID手机远程同步的问题。
前期准备:先启用OMV的rsync服务器,设置rsync的共享文件夹,用户及密码。下载termux到android手机安装,手机给termux存储权限,设置好不要杀termux的后台。
中期:打开termux一看这不就是linux下面的终端吗?那就是要打命令的了,先安装一些软件再说。
以下都是在~目录操作。
apt update
apt install nano rsync openssh
#手机键盘输入,好酸爽,输入法那里还不能左右移动光标,那再加一行常用文字编辑功能再说。
mkdir .termux
cd .termux
nano termux.properties
#.termux/termux.properties加入以下内容:extra-keys=[['TAB','CTRL','ALT','UP','DOWN','LEFT','RIGHT'],['ESC','/','-','HOME','END','PGUP','PGDN']]
重新关闭开启一次termux。好了,输入法有常用文字编辑功能了。
正题:
cd ~
nano rs.sh
#rs.sh加入以下内容,同步相册文件。rsync -av --exclude=".*" --exclude=".*/" --password-file=rspaw.ps /sdcard/DCIM/ rsync://menwa@192.168.123.2:873/pic
chmod +x rs.sh
nano rspaw.ps
#rspaw.ps加入前期准备工作中的用户密码,就一行如:123456
chmod 600 rspaw.ps
(--exclude=".*"是排除隐藏文件,--exclude=".*/"是排除隐藏目录。--password-file=rspaw.ps是密码文件。
rsync有两种认证协议,即:和::的区别。rsync -av -e "ssh -p22" /sdcard/DCIM/ menwa@192.168.123.2:/volume1/pic等于rsync -av /sdcard/DCIM/ menwa@192.168.123.2:/volume1/pic DSM用的是这种。不能用--password-file=rspaw.ps这个参数,没有用,只能在命令行直接输入密码,所以不要用这种方法做服务端。
rsync -av /sdcard/DCIM/ rsync://menwa@192.168.123.2:873/pic等于rsync -av --port=873 /sdcard/DCIM/ menwa@192.168.123.2::pic OMV用得是这种,想在外网同步将192.168.123.2改成ddns的域名,将873改成映射的端口)
#看一下,能否正常同步。
sh rs.sh
#能正常工作后,就是要定时备份文件了,加入计划任务即可。
crond
#开启crond
crontab -e
#加入以下内容:*/30 * * * * sh ~/rs.sh
#每30分钟同步一次,自己想改多少就多少。只要手机后台没有杀掉termux,就算关屏也能同步。
收尾:因为手机不小心关掉termux后,计划任务又得重新开启,那干脆一打开termux就开启计划任务和同步文件就算了。
nano .bashrc
#.bashrc加入内容:
crond
sh ~/rs.sh
重新关闭开启一次termux。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|