Scp语法详解和MYSQL定时备份Shell脚本

SCP

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

经过测试,在windows下也是可以用的,scp工具集成到ssh中,使用平台:win10+Openssh

win10是默认没有ssh服务的,此时我们可以从官网下载Openssh客户端软件,其实说白了就是ssh命令行工具,安装好之后,记得将目录中的bash.exe配置到window的Path环境变量之中,这样就默认在任意地方打开cmd都能够使用了,测试结果如下即可
Scp语法详解和MYSQL定时备份Shell脚本_第1张图片
SCP语法如下所示,
在这里插入图片描述

参数说明:

-1: 强制scp命令使用协议ssh1
-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
注意: 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

实际案例

比如:将windows桌面上的一个文件上传到远程服务器中的一个文件下

Scp语法详解和MYSQL定时备份Shell脚本_第2张图片

登陆远程服务器,发现确实在该目录下了。

MYSQL备份Shell脚本

mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。

mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。

1、备份一个数据库

mysqldump基本语法:

mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql

其中:

dbname参数表示数据库的名称;
table1table2参数表示需要备份的表的名称,为空则整个数据库备份;
BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。

本来打算弄一下这个定时备份脚本,现在想来也没这个必要了,就一行shell命令,再利用crontab定时执行任务,(关于如何定时,可以参考一篇文章给服务器写一个简单的断网重连shell脚本
)任务量太轻了,性价比太低,干脆写个命令,每次登陆系统时都自动提示备份数据库,这样的话就更加方便了。

你可能感兴趣的:(Python-Linux)