linux服务器代码备份(crontab定时执行sh脚本,ftp传输)

linux服务器代码备份(crontab定时执行sh脚本,ftp传输),第1张

起因:上次实验室的服务器突然崩了导致我的代码全没了,虽然提前备份了那么一下,但是为了避免这么悲惨的事情再发生一次,我决定把小伙伴给的备份脚本文件跑一下。

内心os:不就一个.sh文件,很简单吧,我到服务器终端sh一下不就好了

然后一天过去了,终于备份成功了!!!!

正文

ps:博主在linux下用的docker的container,自带root权限(ubuntu18.04)
用到的工具:

  • crontab
  • FileZilla server
1. crontab 这个东西是linux定时执行程序的一个工具,python也有同名的工具包,但不一样,放在python里肯定要调用import在python环境中执行的,但是我们要下的是可以直接在linux调用cronttab命令就可以执行各种定时程序。

安装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
如果连接不成功,就把本地的防火墙关掉!!!

3. 备份的sh脚本参考 MyProjectBackUp.sh
#!/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

备份成功!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/758429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-01
下一篇 2022-05-01

发表评论

登录后才能评论

评论列表(0条)

保存