正文起因:上次实验室的服务器突然崩了导致我的代码全没了,虽然提前备份了那么一下,但是为了避免这么悲惨的事情再发生一次,我决定把小伙伴给的备份脚本文件跑一下。
内心os:不就一个.sh文件,很简单吧,我到服务器终端sh一下不就好了
然后一天过去了,终于备份成功了!!!!
ps:博主在linux下用的docker的container,自带root权限(ubuntu18.04)
用到的工具:
- crontab
- FileZilla server
安装crontab:
apt-get install cron
添加任务:
crontab -e
然后就进入vim编辑器,如下图:
把要执行脚本的文件路径加进去就好了
定时参数参考菜鸟教程:https://www.runoob.com/linux/linux-comm-crontab.html
例如,定时每天执行一次sh脚本,设置如下:
0 0 * * * /raid/XXX/XXX.sh
需要用到的vim指令:
i 插入,可编辑
Esc:退出insert,执行命令
:wq 保存并退出
ctrl+z 退出vim
顺序执行上述四步就完成啦,可以用crontab -l命令查看待执行任务列表。
2. ftp传输设置作为本地windows,服务器linux的选手,我平时把本地文件传到服务器,用filezillia客户端,知道服务器端的IP和用户密码就行,但是现在要从服务器把文件定时传回来,就要开启本地电脑的ftp服务。
- 本地ftp设置
1.参考此链接https://www.cnblogs.com/wenjie777/articles/15883339.html,开启本地电脑的ftp服务,找了好久,这保姆级别的教程非常详细。
注意:IP地址要设置为静态IP
2.下载Filezilla server
打开Administer FileZilla Server
点击Connect to FileZilla FTP Server,设置密码passward
连接成功以后,添加用户server—>Configure—>Users—>Add
注意:
这里的用户名:docker_hyf就是服务器连接本地用的username
Virual path用 " / ",Native path用 " \ "
- 服务器端ftp命令安装
主要是本地配置好ftp服务,服务器上只要装好ftp命令就行
apt-get install ftp
测试:
ftp 192.168.xxx.xxx (本地IP)
提示输入用户名和密码就是上述提到的username和passward
如果连接不成功,就把本地的防火墙关掉!!!
#!/bin/bash
cd /
cd /raid/hyf
# tar zcvf 打包压缩 --exclude排除打包的目录
tar zcvf AoA.tar.gz --exclude=data --exclude=coco-caption --exclude=cider AoANet/
ftp -n -p<<!
open 192.168.xxx.xxx
user username passward
delete AoA.tar.gz
put AoA.tar.gz
exit
!
rm -rf AoA.tar.gz
因为我设置的每天0点备份,所以可以提前测试一下ftp能不能正常工作
终端输入:
sh MyProjectBackUp.sh
备份成功!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)