rsync 使用

Sep 16, 2017 - 1 minutes
简介 rsync主要用于远程文件传输、备份等。支持增量备份 特点: - 可以从远程或者本地镜像保存整个目录树和文件系统。 - 可以保持文件原来的权限、时间、所有者、组信息、软硬链接等等。 - 无须特殊权限即可安装。 - 快速:他要比 scp (Secure Copy) 要快;第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,可以使用更少的带宽。 - 安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。 - 支持匿名传输,以方便进行网站镜像。 常用参数 -v verbose 详细输出 -a 归档模式,递归方式传输文件,并保持连接,权限,用户和组,时间信息 -z 压缩文件传输 -h human-readable, 输出友好 用法 rsync -avz /local/path/ user@remoteip:/path/to/files/ rsync -avz user@remoteip:/home/user/src ./src rsync -avzhe ssh --progress /home/files/ root@remoteip:/path/to/files/ rsync -avzhe ssh --max-size='2000k' /var/lib/rpm/ root@remoteip:/root/tmprpm rsync --remove-source-files -zvh backup.tar /tmp/backups/ rsync --bwlimit=100 -avzhe ssh /var/lib/rpm/ root@remoteip:/root/tmprpm/

(转载) Systemd 入门教程:实战篇

Aug 4, 2017 - 3 minutes
原文: http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html 开机启动 对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。 $ sudo systemctl enable httpd #上面的命令相当于在/etc/systemd/system目录添加一个符号链接,指向/usr/lib/systemd/system里面的httpd.service文件。 #这是因为开机时,Systemd只执行/etc/systemd/system目录里面的配置文件。这也意味着,如果把修改后的配置文件放在该目录,就可以达到覆盖原始配置的效果。 启动服务 设置开机启动以后,软件并不会立即启动,必须等到下一次开机。如果想现在就运行该软件,那么要执行systemctl start命令。 $ sudo systemctl start httpd 执行上面的命令以后,有可能启动失败,因此要用systemctl status命令查看一下该服务的状态。 $ sudo systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: active (running) since 金 2014-12-05 12:18:22 JST; 7min ago Main PID: 4349 (httpd) Status: "Total requests: 1; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service ├─4349 /usr/sbin/httpd -DFOREGROUND ├─4350 /usr/sbin/httpd -DFOREGROUND ├─4351 /usr/sbin/httpd -DFOREGROUND ├─4352 /usr/sbin/httpd -DFOREGROUND ├─4353 /usr/sbin/httpd -DFOREGROUND └─4354 /usr/sbin/httpd -DFOREGROUND 12月 05 12:18:22 localhost.

(转载)Systemd 入门教程:命令篇

Aug 4, 2017 - 5 minutes
原文 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 由来 历史上,Linux 的启动一直采用init进程。 下面的命令用来启动服务。 $ sudo /etc/init.d/apache2 start # 或者 $ service apache2 start 这种方法有两个缺点。 1. 是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。 2. 是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。 Systemd 概述 Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。 根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。 使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。 $ systemctl –version 上面的命令查看 Systemd 的版本。 Systemd 的优点是功能强大,使用方便,缺点是体系庞大,非常复杂。事实上,现在还有很多人反对使用 Systemd,理由就是它过于复杂,与操作系统的其他部分强耦合,违反”keep simple, keep stupid”的Unix 哲学。 系统管理 Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。 systemctl systemctl是 Systemd 的主命令,用于管理系统。 重启系统 $ sudo systemctl reboot # 关闭系统,切断电源 $ sudo systemctl poweroff # CPU停止工作 $ sudo systemctl halt # 暂停系统 $ sudo systemctl suspend # 让系统进入冬眠状态 $ sudo systemctl hibernate # 让系统进入交互式休眠状态 $ sudo systemctl hybrid-sleep # 启动进入救援状态(单用户状态) $ sudo systemctl rescue systemd-analyze systemd-analyze命令用于查看启动耗时。