crontab, 进程, dd , wget, ssh, scp, rsync, ssh无密码访问, FTP服务器的搭建

[TOC]

1. 网络配置补充

# 配置/etc/passwd时如何找到MAC地址?
dmesg | grep eth
DNS1=
DNS2=
DNS3= 
# 最多配置3个DNS地址, \
# 且使用systemctl restart network后会将这三个DNS的配置写入/etc/resolv.conf中

# 如何将系统的eno16777736改为原来的eth0?
vi /etc/default/grub
# (1) 在GRUB_CMDLINE_LINUX=...后添加 net.ifnames=0 biosdevname=0
# (2) grub2-mkconfig -o /boot/grub2/grub2.cfg 重新生成grub2.cfg文件
# (3) 将ifcfg-eno16777736中的DEVICE值修改为eth0

虚拟机中的虚拟网络编辑器可调整虚拟机使用的网卡, DHCP等信息

2. 计划任务

at 10:56
at now+5min
at -l # 列出所有一次性的计划任务, 可用来查看jobnum
at -c jobnum # 查看对应jobnum的计划任务详细信息
at -d jobnum # 删除jobnum的计划任务

crontab -e # 有语法错误时退出会有提示
*  *  *  *  *  username  command
分 时 日 月 周   指定用户   绝对路径的命令或脚本

10  *  *  *  *  # 每小时的第10分钟
*  1,2,3  *  *  *  # 每天的1点, 2点, 3点
*  1-3  *  *  *
*/10  1,2,3  7-9  *

crontab -r # 删除所有计划任务
crontab -l # list
crontab -u username -e # 给指定用户创建crontab

# 用crontab创建计划任务, 都放在/var/spool/cron/目录下
# 命令的执行结果会以邮件的形式返回给用户
# 配置文件:
# (1) /var/spool/cron/* (2) /etc/crontab (3) /etc/cron.d/*
#     个人的                 系统级的          自定义的
# /etc/cron.deny /etc/cron.allow
# 仅允许          仅拒绝
# 若两个文件都存在相同用户, 以/etc/cron.allow优先

/etc/anacrontab # 将上一次执行的时间与当前时间对比, \
                          # 其中上一次执行时间记录在
                          # /var/spool/anacron/cron.{weekly,monthly,daily}
delay in minutes # 延迟时间(延迟时间后执行)
# /etc/cron.d/0hourly -> /etc/cron.hourly/0anacron 由crontab到anacrontab
# anacron每隔一小时检测一次, 本质是一个脚本

3. 进程process

  • process: 加载到内存中的指令集
systemctl restart named # PID会变, 缓存被清除
systemctl reload named # PID不变, 不清除缓存 \
                       # 修改配置文件后建议使用此命令, 等价于kill -1 named
ps aux
VSZ # 向系统申请的虚拟内存 
RSS # 实际使用的物理内存
TTY # 该进程运行在哪个终端上 \
    # tty1, tty2... (终端, 个数有限) pts1, pts2... (伪终端, 个数无限)
STAT # 进程状态
TIME # 上一次连续工作的时间
COMMAND # 某个命令或服务的名字
ps -eo %cpu,%mem,pid,user # -o, option 指定显示的内容

pidof # 截取某个进程的PID
pidof httpd
echo $? # 可用于判断某个服务是否已启动
  • signals
# 帮助页 man 7 signal
kill 7968 <=默认=> kill -15 7968 # 正常结束
kill -9 7968 # 强制结束
kill -1 7968 # 重新读取配置文件
killall httpd # 根据服务名(进程名)杀死一组服务
pkill [-signal] pattern
pkill httpd
  • NICE值
# -20~19 默认优先级为0
# 值越小, 优先级越高, CPU轮询, 相同优先级的进程均会被执行
nice -n num COMMAND # 进程启动前修改优先级
nice -n 10 vim /etc/passwd
renice [-]num PID # 进程启动后修改优先级
  • job control
# 命令会占据终端界面, 用 & 将进程放到后台运行
jobs # 列出后台任务运行状态
ctrl + z # 将前台运行的进程丢到后台暂停
fg %jobnum # 将后台暂停的进程放到前台运行
bg %jobnum #                  后台
kill -19 [PID|%jobnum] # 将后台运行的进程暂停
  • exit status
0 # 成功
1~255 # 失败
exit [num] # 数字随意, 后面的整个脚本不会被执行

command1 && command2 # 逻辑与, 两者均成功, $?才为0
command1 || command2 # 逻辑或, 两者其一成功, $?就位0
{ echo "test"; exit 2; } # 自定义退出吗, 注意两个冒号!

4. dd命令的补充

  • device to device
# 用途:
# 1. 测试
# 2. 磁盘配额
# 3. swap
# 4. 字节级别拷贝, 不经过上层应用
# 5. 备份分区, 磁盘
dd if=/dev/sda1 of=/tmp/sda1.bak # 将分区备份到文件中
dd if=/tmp/sda1.bak of=/dev/sda1 # 还原数据

5. wget

[curl | links] # 文字界面浏览网页
# 支持http, ftp, 无交互
wget http://172.25.254.250/passwd -P /tmp # 下载到指定目录
                                  -O /tmp/psd # 下载到指定目录并重命名为psd

6. ssh

ssh [email protected] 'mkdir /tmp/test' # 用单引号包括命令
                         -X # 将远程图形调到本地

7. scp

scp [-r] source dest # 注意用户权限, 有同名文件时会直接覆盖
     -p # 保留时间戳和权限
     -C # 压缩
scp [email protected]:/tmp/file .

8. rsync

  • 优点: 增量同步
rsync -av source dest
      -z # 压缩
# 常见用法:
rsync -avz 192.168.1.100:/etc/passwd 192.168.1.200:/tmp/
rsync -avz --delete source_dir dest_dir 
# 此命令对目录有很神奇的效果, 
# 会先将dest_dir下的原有文件删除, 然后将source_dir下的新文件同步到dest_dir内, 
# 一般在运维人员进行jar包分发的时候经常会用到

9. 加密算法

对称加密 非对称加密
只有一把钥匙, 加密和解密 两把钥匙(公钥, 加密 私钥, 解密)
gpg -c file # 加密
gpg file # 解密
# 如何在client端开启ssh无需输入密码即可访问server端?
ssh-keygen -t [rsa|dsa] # 可设置加密类型及加密私钥的密码
ssh-copy-id -i 公钥 [email protected] # 将公钥传递到远端主机
ssh-agent bash # 开启ssh代理
ssh-add # 输入加密私钥的密码

# 是否允许密码验证, 是否允许root用户登录, 修改远程连接使用的端口等如何配置:
vi /etc/ssh/sshd_config

10. FTP服务器的搭建

  • CLI: lftp (客户端和服务端各自需求的软件)
  • SERVER: vsftpd
lftp ftp://username:password@ip
# 实例:
lftp ftp://alex:[email protected]
# 客户端登录:
lftp 192.168.235.130
help
user user1 # 切换到user1用户 (前提是服务端有user1用户)

你可能感兴趣的:(crontab, 进程, dd , wget, ssh, scp, rsync, ssh无密码访问, FTP服务器的搭建)