打包tar命令
tar -cvfz xxx.tar.gz source_file (tar -cvfz 包名.tar.gz 源文件) #以tar.gz方式打包并gz方式压缩
tar -xvfz xxx.tar.gz -C path (tar -xvfz xxx.tar.gz -C 目标路径) #解压缩包
查看压缩包内容:tar -tvf xxx.tar.gz
-c --create创建新的归档文件
-v --verbose 可视化,显示详细的tar处理的文件信息的过程
-f --file 要操作的文件名
-x --extract,解压文件
-z --gzip, --gunzip, --ungzip 通过 gzip 来进行归档压缩
-j --bzip2 通过 bzip2 来归档压缩文件
-t --list 表示查看文件,查看文件中的文件内容
-C --directory=DIR 解压文件至指定的目录,如果是解压到当前目录,可以不加-C
注意:使用tar命令,打包仅仅是打包xxx.tar,打包并压缩就是xxxx.tar.gz
CP复制命令
cp命令格式:cp [-r] 源文件 目标位置 # 复制目录需要加 -r
scp远程传输命令
scp命令可以用于不同Linux主机之间传输文件,其格式如下:
scp source_file user@IP:/路径 或 scp user@IP:/路径/filenmame /localpath/file
(1)从本地拷贝文件到远程服务器
scp /home/liu/mysql.cnf [email protected]:/root/ #注意IP后面是冒号加路径
将本地/home/liu/文件夹下的mysql.cnf文件传输到远程服务器192.168.1.100的/root/目录下。
(2)从远程服务器拷贝文件到本地
scp [email protected]:/etc/mysql.cnf /root/mysql/
将远程服务器192.168.1.100用户/etc/目录下的mysql.cnf文件传输到本地root用户/root/mysql/目录中。
(3)查看远程服务器是否存在已传输的文件
ssh [email protected] “ls -l /root/mysql/”
注意;需要输入远程主机对应的用户密码,除非Linux服务器之间设置了免密登录。
scp命令常用于设置定时任务将打包压缩文件传输到备份服务器中去。
scp使用的ssh协议,也就是说sshd远程连接服务必须运行才能使用scp命令
rsync命令在系统之间同步文件
(1)本地系统不同目录之间同步
rsync -avz 源 目标路径
rsync -avz /usr/local/mysqldump/ /home/
注意一点:/xxx/xxx/源目录/ 源目录后面是否有/是不同的,有/表示同步的是该目录下的文件,没有/ 表示同步的是这个目录本身,如:
rsync -avz /usr/local/mysqldump/ /home/ #有/斜杠,把mysqldump目录下的所有文件同步到home目录下了
rsync -avz /usr/local/mysqldump /home/ #没有/斜杠,把mysqldump这个目录本身同步到home目录下了
-avz
-a 保持权限等
-v 可视化,输出详解信息
-z 压缩,同步的时候先压缩再同步
rsync命令只同步修改过的文件,这比cp命令节约资源,如下:
mkdoir /test/ /home/test/ #创建测试目录
touch /test/file{1…5} #创建测试文件
rsync -avz /test/ /home/test/ #有斜杠,表示同步目录下的所有文件,即将test目录下的file1-file5同步到 /home/test/
echo “test1” >> /test/file/file1 #更改/test/file/file1和/test/file/file2文件内容
echo “test2” >> /test/file/file2
rsync -avz /test/ /home/test/ #再次同步,发现只同步了修改过的文件file1和file2
注意:本地源目录删除了某个文件后再同步,目标路径并不会同步删除文件,如果需要源删除文件,目标也要删掉,则需要加 --delete
(2)不同系统之间同步
rsync -avz 本地源目录 user@IP:目标路径
rsync -avz /usr/local/mysqldump/ [email protected]:/home/