本文介绍在ubuntu上定时拷贝后删除树莓派上的文件的方法,感觉和版本关联不大,也就不详细介绍我所用的版本了,如果不能复现结果,将对应版本升级到最新的应该就可以。注意,树莓派和Ubuntu要在同一个局域网中,我的UbuntuIP:192.168.1.101,树莓派IP:192.168.1.103,将ubuntu用户切换到root。
1 实现带密码拷贝后删除
shell脚本:getRemoteData.sh(实现拷贝后删除功能)
#!/bin/sh
userInfo=root@192.168.1.103
localSavePath=/home/zf/szf/opcua/remoteDataSave/pi1/
remoteFile=/home/pi/szf/test/*
scp -r $userInfo:$remoteFile $localSavePath
ssh -t $userInfo "rm " $remoteFile
usrInfo中的root为树莓派上的root,IP为树莓派的IP;
localSavePath为Ubuntu上保存文件的路径;
remoteFile为树莓派上需要备份的文件。
注意:在执行scp时需要输入一次树莓派root的密码,在执行ssh时需要输入一次树莓派root的密码。
在树莓派上随便创建些文件,运行shell脚本便可以拷贝后删除树莓派上的文件了,只是需要每次输密码。
在Ubuntu上拷贝的随意文件如下图:
2 配置免密登录(在Ubuntu上操作)
step1: 打开终端,输入:
ssh-keygen
step2: 按三次回车
step3: 输入:
cd /root/.ssh/
step4:输入如下指令,其中的IP为树莓派IP,读者要根据自己实际情况修改:
ssh-copy-id 192.168.1.103
再运行shell脚本,便可以免密了。
3 定时
在Ubuntu的终端输入:
vim /etc/crontab
编辑打开的文件,在最后一行添加:
* * * * * root /home/zf/szf/opcua/getRemoteData.sh
我配成了每分钟Ubuntu从树莓派拷贝后删除文件。有其他时间需求的读者可以参考crontab的使用。
重启Ubuntu,在树莓派对应路径随意创建文件,然后在Ubuntu的对应路径中每隔1分钟就能看到树莓派创建的文件,并且树莓派上的文件随之消失。
4 参考
https://blog.csdn.net/sunnyliuqi/article/details/91361416
https://blog.csdn.net/BobYuan888/article/details/88977192