九溪

溪水润知林,滴露启慧心

用户工具

站点工具


pages:home

ColinOL Home

使用坚果云定时备份文件内容

准备

  1. 坚果云账号,免费版即可

坚果云配置

在 右上角用户名 - 【账户信息】-【安全选项】-【第三方应用】添加一个应用

输入名称,如 davauto,点击【生成密码】

记住该密码(下文称为 第三方应用密码)

Cadaver 命令行操作坚果云数据

安装 Cadaver

apt-get install cadaver

连接到坚果云

cadaver https://dav.jianguoyun.com/dav/

手动登陆坚果云

根据提示输入 坚果云账户 和刚才创建的 第三方应用密码,进入交互模式。

Authentication required for nutstore on server `dav.jianguoyun.com':
Username: xxx@gmail.com
Password: 
dav:/dav/> 

自动登陆坚果云

在当前用户的 home 目录创建 .netrc 文件,内容如下:

machine dav.jianguoyun.com
login xxx@gmail.com # 坚果云账户
password xxxxxx # 第三方应用密码

此时,再执行 cadaver https://dav.jianguoyun.com/dav/ 命令就不用输入账户密码。

坚果云的文件操作

支持的命令可在登陆坚果云后,输入 help 查看:

dav:/dav/> help
Available commands:
 ls         cd         pwd        put        get        mget       mput
 edit       less       mkcol      cat        delete     rmcol      copy
 move       lock       unlock     discover   steal      showlocks  version
 checkin    checkout   uncheckout history    label      propnames  chexec
 propget    propdel    propset    search     set        open       close
 echo       quit       unset      lcd        lls        lpwd       logout
 help       describe   about
Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye

示例1:进入backup目录,上传hello.txt:

dav:/dav/> cd backup 
dav:/dav/backup/> put hello.txt 

示例2:进入backup目录,下载hello.txt

dav:/dav/> cd backup 
dav:/dav/backup/> get hello.txt

将会从坚果云下载文件到当前目录

使用脚本执行文件操作,便于以后自动执行命令。如,创建脚本 hello.sh 如下:

hello.sh
put word.txt
bye

假设操作的目录为 backup,执行下面命令以执行 hello.sh 脚本:

cadaver https://dav.jianguoyun.com/dav/backup/ < davbak
dav:/dav/backup/> put word.txt
Uploading word.txt to `/dav/backup/word.txt': succeeded.
dav:/dav/backup/> bye
Connection to `dav.jianguoyun.com' closed.

使用脚本定时从坚果云备份或恢复文件

备份数据的脚本

在 /opt/cron/ 目录下创建脚本(目录可按需指定),操作内容为

  1. 复制网站内容到备份目录
  2. 清理目录下不需要的文件
  3. 打包
  4. 将打包好的文件上传到坚果云

脚本命名为 auto_colinol.com.backup.sh ,具体内容如下:

auto_colinol.com.backuo.sh
#!/bin/bash
 
date=`date +%y%m%d`
site='colinol.com'
backpath=${site}
tarfilename=${site}.tar.gz
tarfilenamecp=${site}-${date}.tar.gz
 
cp -a /var/www/${site}/ ${backpath}
 
rm -f -r ${backpath}/.git
rm -f -r ${backpath}/.well-known
rm -f -r ${backpath}/data/cache
rm -f -r ${backpath}/data/tmp
 
tar zcf ${tarfilename} ${backpath}
 
cadaver https://dav.jianguoyun.com/dav/backup/colinol.com/ <<E
put ${tarfilename}
rm ${tarfilenamecp}
cp ${tarfilename} ${tarfilenamecp}
E
 
rm -f -r ${backpath}
rm ${tarfilename}

恢复数据的脚本

在 /opt/corn/ 目录下创建脚本(目录可以按需指定),操作内容为

  1. 下载坚果云的最新打包数据到本地
  2. 解压打包数据
  3. 其他必要操作

脚本命名为 loadbackupsite.sh ,具体内容如下:

loadbackupsite.sh
#!/bin/bash
#date >> /opt/cron/log/backsitebegin.log
 
site='colinol.com'
 
tarfilename=${site}.tar.gz
 
cadaver https://dav.jianguoyun.com/dav/backup/colinol.com/ <<E
get ${tarfilename}
E
 
tar -zxvf ${tarfilename}
rm ${tarfilename}
 
cursitepath=/var/www/html
rm -f -r ${cursitepath}
mv ${site} ${cursitepath}
 
mkdir ${cursitepath}/data/cache
mkdir ${cursitepath}/data/tmp
 
chmod -R 777 ${cursitepath}/data/
chmod -R 777 ${cursitepath}/lib/
chmod -R 777 ${cursitepath}/conf/
 
#date >> /opt/cron/log/backsiteend.log

设置定时处理程序:Corntab

2019/09/27 11:16 · colin

Linux Crontab 定时任务

修改corn脚本编辑器为vim

export EDITOR=vim 

创建定时任务

crontab -e

编辑任务,如在文件中加入以下命令(每天15:13分自动执行hello.sh脚本)

13 15 * * * sh /opt/hello.sh

工具

参考:

2019/09/27 11:11 · colin

shell脚本与运行

.sh 脚本

一个典型的sh脚本示例:

hello.sh
#!/bin/bash
 
ls -all

运行 .sh

以运行 hello.sh 为例:

一、直接./加上文件名.sh,如运行hello.sh为./hello.sh【hello.sh必须有x权限】

chmod u+x hello.sh
./hello.sh

二、直接sh 加上文件名.sh,如运行hello.sh为sh hello.sh【hello.sh可以没有x权限】

sh hello.sh

三、绝对路径执行 .sh

这样

/home/hello.sh

或者

./home/hello.sh

或者

sh /home/hello.sh

应用场景

2019/09/27 11:08 · colin

Ubuntu 常用解压与压缩命令

.tar 文件

仅打包,并非压缩

tar -xvf FileName.tar         # 解包
tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包

.gz文件

.gz

gunzip FileName.gz  # 解压1
gzip -d FileName.gz # 解压2
gzip FileName       # 压缩,只能压缩文件

.tar.gz文件、 .tgz文件

.tar.gz 和 .tgz

tar -zxvf FileName.tar.gz               # 解压
tar -zcvf FileName.tar.gz DirName       # 将DirName和其下所有文件(夹)压缩
tar -C DesDirName -zxvf FileName.tar.gz # 解压到目标路径

.zip文件

感觉.zip占用空间比.tar.gz大

unzip FileName.zip          # 解压
zip FileName.zip DirName    # 将DirName本身压缩 
zip -r FileName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一并压缩

.rar文件

mac和linux并没有自带rar,需要去下载

rar x FileName.rar      # 解压
rar a FileName.rar DirName # 压缩
2019/09/23 16:18 · colin

Ubuntu 安装 LAMP 服务器(MySQL/PHP/Apache)

准备

Ubuntu 安装 MySQL

1.打开 Ubuntu 终端,使用下面命令进入管理员权限

sudo su

输入系统的密码

2.Ubuntu 上安装 mysql 非常简单只需要几条命令就可以完成

apt-get install mysql-server 
apt-get install mysql-client 
apt-get install libmysqlclient-dev

执行命令时会提示输入 Y 表示同意

3.Ubuntu 安装 net-tools

apt install net-tools

4.检查是否安装成功

sudo netstat -tap | grep mysql

如果看到有 mysql 的socket处于 listen 状态则表示安装成功

5.登陆mysql数据库可以通过如下命令:

mysql -u root -p 

-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到 mysql (默认会有一个 root 用户,密码也为:root)

6.然后就可以查看当前的数据库

show databases;

7.然后就是 MySQL 的一些操作了

分享 MySQL 常用命令:MySQL 常用命令大全

Ubuntu 安装 Apache2

1.Ubuntu 安装 Apache2

apt-get install apache2

输入 Y 同意

2.检查是否安装成功,在浏览器输入地址:http://localhost

3.apache 的默认的一些目录

  1. 默认文档根目录是在 ubuntu 上的 /var/www 目录
  2. 配置文件是 / etc/apache2/apache2.conf
  3. 配置存储在的子目录在 /etc/apache2 目录

4.我怎么手动开启/关闭 Apache 服务器呢?(一般 Apache 服务器会自动启动)

(1)重启 Apache 服务器(常用)

sudo /etc/init.d/apache2 restart

(2)开启 Apache 服务器

sudo /etc/init.d/apache2 start

(3)关闭 Apache 服务器

sudo /etc/init.d/apache2 stop

安装 php 7.0

1.这里安装比较多,也是为了以后少一些麻烦,使用命令

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php && sudo apt-get update
sudo apt-get -y install php7.2

如果之前有其他版本PHP,在这边禁用掉

sudo a2dismod php5
sudo a2enmod php7.2

安装常用扩展(建议安装)

sudo apt-get -y install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml  php7.2-intl php7.2-odbc php7.2-cgi

# 安装其他扩展(按需要安装)

sudo apt-get install php7.2-gd
sudo apt-get install php7.2-soap
sudo apt-get install php7.2-gmp      
sudo apt-get install php7.2-pspell     
sudo apt-get install php7.2-bcmath   
sudo apt-get install php7.2-enchant    
sudo apt-get install php7.2-imap       
sudo apt-get install php7.2-ldap       
sudo apt-get install php7.2-opcache
sudo apt-get install php7.2-readline   
sudo apt-get install php7.2-sqlite3    
sudo apt-get install php7.2-xmlrpc
sudo apt-get install php7.2-bz2
sudo apt-get install php7.2-interbase
sudo apt-get install php7.2-pgsql      
sudo apt-get install php7.2-recode     
sudo apt-get install php7.2-sybase     
sudo apt-get install php7.2-xsl     
sudo apt-get install php7.2-dba 
sudo apt-get install php7.2-phpdbg     
sudo apt-get install php7.2-snmp       
sudo apt-get install php7.2-tidy       
sudo apt-get install php7.2-zip

然后静静等待安装完成

因命令太多,可以使用下面,自动执行y

yes|sudo apt-get install php7.2-gd
yes|sudo apt-get install php7.2-soap
yes|sudo apt-get install php7.2-gmp      
yes|sudo apt-get install php7.2-pspell     
yes|sudo apt-get install php7.2-bcmath   
yes|sudo apt-get install php7.2-enchant    
yes|sudo apt-get install php7.2-imap       
yes|sudo apt-get install php7.2-ldap       
yes|sudo apt-get install php7.2-opcache
yes|sudo apt-get install php7.2-readline   
yes|sudo apt-get install php7.2-sqlite3    
yes|sudo apt-get install php7.2-xmlrpc
yes|sudo apt-get install php7.2-bz2
yes|sudo apt-get install php7.2-interbase
yes|sudo apt-get install php7.2-pgsql      
yes|sudo apt-get install php7.2-recode     
yes|sudo apt-get install php7.2-sybase     
yes|sudo apt-get install php7.2-xsl     
yes|sudo apt-get install php7.2-dba 
yes|sudo apt-get install php7.2-phpdbg     
yes|sudo apt-get install php7.2-snmp       
yes|sudo apt-get install php7.2-tidy       
yes|sudo apt-get install php7.2-zip
2019/09/23 16:14 · colin

评论

请输入您的评论. 可以使用维基语法:
 
pages/home.txt · 最后更改: 2023/01/03 15:08 由 127.0.0.1