第四周 Linux学习 课后作业
一、总结软件管理相关指令二、完成find命令的总结三、总结正则表达式的用法四、根据课程完成综合实战相关练习1234五、完成存储管理的命令总结六、完成LVM的命令总结和课程演示练习56七、总结linux系统的启动过程7八、动手制作一个systemd的unit文件[Unit]DescriptionMySQL ServerDocumentationman:mysqld(8)Afternetwork.target syslog.target[Service]UsermysqlGroupmysqlTypenotifyExecStart/usr/local/mysql/bin/mysqld --defaults-file/etc/my.cnfExecStop/usr/local/mysql/bin/mysqladmin-urootshutdownLimitNOFILE65535Restarton-failureRestartSec3[Install]WantedBymulti-user.target九、完成每日凌晨1点定时打包/var/log/message文件的定时任务# 创建备份目录mkdir/backup# Rocky 最小安装安装 tar gzipdnfinstall-ytargzip# 创建备份脚本cat/backup/timer_logs_message_backup.shEOF #!/bin/bash BACKUP_DIR/backup BACKUP_FILEmessage-timer-$(date %F).tar.gz # 检查目录,不存在则创建 if [ ! -d $BACKUP_DIR ];then mkdir $BACKUP_DIR fi # 备份 message 日志 /usr/bin/tar czf $BACKUP_DIR/$BACKUP_FILE /var/log/message 2/dev/null # 清除超过一周的备份文件 find $BACKUP_DIR -name *.tar.gz -mtime 7 | xargs -I {} rm -rf {} EOF# 添加执行权限chmodx /backup/timer_logs_message_backup.sh# 测试脚本执行/backup/timer_logs_message_backup.sh ll /backup/# 创建 Service 单元,Typeoneshot 表示执行一次退出cat/etc/systemd/system/backup_logs_message.serviceEOF [Unit] DescriptionLog Backup Service (Timer) [Service] Typeoneshot ExecStart/backup/timer_logs_message_backup.sh Userroot EOF# 创建 Timer 单元,与 Service 单元同名,Persistenttrue 表示错过执行补偿,例如指定时间系统关机,开机后立即补执行cat/etc/systemd/system/backup_logs_message.timerEOF [Unit] DescriptionLog Backup Timer [Timer] OnCalendar*-*-* 01:00:00 Persistenttrue [Install] WantedBytimers.target EOF# 启动 Timersystemctl daemon-reload systemctlenable--nowbackup_logs_message.timer# 验证# 查看所有 Timersystemctl list-timers# 手动触发执行,需要确保 SELinux 关闭systemctl start backup_logs_message.servicels-l/backup# 查看日志journalctl-ubackup_logs_message.service-n20十、完成每半小时自动创建一个文件并且删除完成日志记录的定时任务# 创建目录mkdir/var/log/touch_logs# 创建脚本cat/var/log/touch_logs/timer_touch_flag.shEOF #!/bin/bash TOUCH_DIR/var/log/touch_logs TOUCH_FILE$(date %Y%m%d_%H%M%S).flag # 检查目录,不存在则创建 if [ ! -d $BACKUP_DIR ];then mkdir $BACKUP_DIR fi # 创建一个文件 /usr/bin/touch $TOUCH_DIR/$TOUCH_FILE 2/dev/null # 清除超过一周的文件 find $TOUCH_DIR -name *.flag -mtime 7 | xargs -I {} rm -rf {} EOF# 添加执行权限chmodx /var/log/touch_logs/timer_touch_flag.sh# 测试脚本执行/var/log/touch_logs/timer_touch_flag.sh ll /var/log/touch_logs# 创建 Service 单元,Typeoneshot 表示执行一次退出cat/etc/systemd/system/touch_flag.serviceEOF [Unit] DescriptionLog Backup Service (Timer) [Service] Typeoneshot ExecStart/var/log/touch_logs/timer_touch_flag.sh Userroot EOF# 创建 Timer 单元,与 Service 单元同名,Persistenttrue 表示错过执行补偿,例如指定时间系统关机,开机后立即补执行cat/etc/systemd/system/touch_flag.timerEOF [Unit] DescriptionLog Backup Timer [Timer] OnCalendar*-*-* *:00,30:00 Persistenttrue [Install] WantedBytimers.target EOF# 启动 Timersystemctl daemon-reload systemctlenable--nowtouch_flag.timer# 验证# 查看所有 Timersystemctl list-timers# 手动触发执行,需要确保 SELinux 关闭systemctl start touch_flag.servicels-l/var/log/touch_logs# 查看日志journalctl-utouch_flag.service-n20