三周第五次课(4月10日)

本文介绍CentOS 7系统中磁盘管理的基本操作,包括查看支持的文件系统、磁盘格式化、挂载及卸载磁盘等步骤,并演示如何手动增加swap空间。

4.5/4.6 磁盘格式化

磁盘分过区之后还不能使用,需要将磁盘格式化为系统支持的文件系统。当然,不分区也可以直接格式化使用
看一下centos7所支持的文件系统格式


查看一个分区的文件系统的命令:mount

可以看到当前的文件系统是xfs


/boot  和 / 都是xfs的  ,swap是其特有格式

centos早期版本文件系统还有ext4,ext3,ext2,centos7换成了xfs


磁盘格式化命令:mke2fs  (这个命令不支持xfs)


#  mke2fs  --help


-t 指定文件系统格式(如果不指定文件系统,默认为ext2)

先试下xfs,如图确实不能格式化为xfs

格式化为ext4


-b指定块的大小(系统默认的是4k,也就是4096)

下面改为8k



设置块的大小要根据自己使用的文件情况来,存放大文件,比如高清电影,高清图片,块设置的大能读取会比较快,相反,如果多是小文件(小于4k的,甚至小于1k的 ),块设置小,读取速度较快


-m指定分区预留的分区大小,分区的时候可以看到下面的说明,默认留出5%的空间给超级用户



下面修改一下预留空间大小为1%



-i设定多少容量对应一个inode(默认是4个块分配1个inode),下面改为2个块





查看一个未挂载的设备文件类型的命令:blkid




我们还可以用mkfs命令,来格式化分区,而且这个支持xfs格式

mkfs.xfs  (对于已存在文件系统的分区,要加-f选项来强制格式化)


mkfs.ext4==mke2fs -t ext4   ,支持的选项也一样



需要注意的地方:

1.不分区也可以格式化使用


2.格式化的时候如果选择的是格式化整个磁盘,则会删除之前的磁盘分区

如下图sdb,是有4个分区的


选择格式化整个磁盘,再去查看磁盘,分区不见了

4.7/4.8 磁盘挂载

mount:挂载设备(磁盘不挂载是不能使用的)




下面把sdb磁盘挂载到/mnt/下



挂载之后,我们就可以使用磁盘了


取消挂载用umount


在目录下的时候也可以通过加-l选项来卸载磁盘


mount 不加选项的默认值


rw可读写  suid可以设置suid  dev(先不管) exec可执行  auto自动挂载  nouser不允许普通用户挂载 async不实时同步到磁盘

也可以-o 【选项】

mount -o remount,rw



fstab配置文件:系统启动挂载哪些磁盘都写在这里,我们也可手动增加要开机挂载的新磁盘


UUID和设备名称的作用是一样的都代表同一设备,下面改用uuid来挂载磁盘




4.9 手动增加swap空间

1.创建一个虚拟磁盘

#dd if=/dev/zero of=/tmp/newdisk bs=1M count=100



2.查看虚拟磁盘大小

#du -sh /tmp/newdisk



3.格式化虚拟磁盘为swap

# mkswap -f /tmp/newdisk



4.把虚拟磁盘加到swap,并修改权限为0600

# swapon /tmp/newdisk



5.查看增加后的交换分区大小

# free -m



6.卸载增加的swap

# swapoff /tmp/newdisk



**高校专业实习管理平台设计与实现** 本设计项目旨在构建一个服务于高等院校专业实习环节的综合性管理平台。该系统采用当前主流的Web开发架构,基于Python编程语言,结合Django后端框架与Vue.js前端框架进行开发,实现了前后端逻辑的分离。数据存储层选用广泛应用的MySQL关系型数据库,确保了系统的稳定性和数据处理的效率。 平台设计了多角色协同工作的管理模型,具体包括系统管理员、院系负责人、指导教师、实习单位对接人以及参与实习的学生。各角色依据权限访问不同的功能模块,共同构成完整的实习管理流程。核心功能模块涵盖:基础信息管理(如院系、专业、人员信息)、实习过程管理(包括实习公告发布、实习内容规划、实习申请与安排)、双向反馈机制(单位评价与学生反馈)、实习支持与保障、以及贯穿始终的成绩评定与综合成绩管理。 在技术实现层面,后端服务依托Django框架的高效与安全性构建业务逻辑;前端界面则利用Vue.js的组件化特性与LayUI的样式库,致力于提供清晰、友好的用户交互体验。数据库设计充分考虑了实习管理业务的实体关系与数据一致性要求,并保留了未来功能扩展的灵活性。 整个系统遵循规范的软件开发流程,从需求分析、系统设计、编码实现到测试验证,均进行了多轮迭代与优化,力求在功能完备性、系统性能及用户使用体验方面达到较高标准。 **核心术语**:实习管理平台;Django框架;MySQL数据库;Vue.js前端;Python语言。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
在电磁散射与雷达技术的研究中,涉及粗糙表面电磁特性模拟的核心概念包括统计参数化建模方法、不同电场矢量方向的极化模式、特定方向的能量反射现象、理想化波前模型以及具有随机起伏特征的界面。以下是对这些要点的系统阐述: 统计参数化建模是一种基于表面统计特征描述其不规则性的电磁散射计算方法,尤其适用于均方根高度较小的粗糙界面在微波至毫米波频段的散射特性分析。 水平极化与垂直极化分别指电场矢量平行于地面和垂直于地面的振动状态。在雷达探测中,采用不同的极化模式有助于提升目标辨识度并抑制环境干扰。 当电磁波与物体相互作用时,部分能量沿接近入射方向返回,这种现象称为反向散射。其在雷达系统的探测灵敏度与目标特征分析中具有关键作用。 平面波是在均匀介质中传播的理想波型,其电场与磁场分布保持一致的相位关系,常作为理论简化模型用于电磁问题的解析与数值计算。 粗糙界面指具有随机起伏特征的表面,其不规则程度可通过均方根高度进行量化。这种结构特性会改变电磁波的传播路径与能量分布,进而影响信号的接收与处理。 相关压缩文件可能包含了实现上述建模方法的程序代码,通常采用数值计算语言编写,用于模拟不同极化状态下粗糙表面对平面波的反向散射响应。通过此类仿真,能够预测各类场景下的散射参数,为雷达系统设计与遥感数据解译提供理论依据。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
<think>嗯,用户想知道如何用Cron表达式表示从2025年4月815点53分开始,每3周执行一次的任务。首先,我需要回忆一下Cron表达式的基本结构。根据引用[2],Cron表达式由6或7个字段组成,分别是秒、分、时、、月、周、年(可选)。每个字段有不同的取值范围和特殊字符。 用户的需求是每3周执行一次,从特定时间开始。通常,Cron表达式中的周字段(第5个字段,如果是星期则为第6个字段)可以使用*/3来表示每隔3周。但这里有个问题:Cron表达式中的周字段是基于星期的,比如1表示周,7表示周六。而用户的需求是每3周执行一次,可能需要结合期或周数来实现。 不过,Cron本身不支持基于起始期的间隔,比如从某个具体期开始每隔三周。这时候可能需要用期字段()来设置。例如,如果任务从4月8开始,每隔21天(3周)执行一次,可以在字段设置8,29,18...但这样计算起来会比较复杂,因为每个月的天数不同,可能无法准确每隔21天触发。 另一种方法是使用周字段,比如每周的某一天(例如周二),然后每隔3周执行。但这样需要确定起始期对应的星期几。2025年4月8是星期二,所以可以在周字段设置为2(根据Cron的周定义,1是周,2是周一?或者需要确认具体的Cron实现。不同系统可能有不同定义,比如Quartz中1是周,而其他系统可能不同,这可能导致混淆。比如引用[2]中提到周的范围是1-7或SUN-SAT,所以需要明确。 假设用户使用的系统周字段中,1是周,那么4月82025年是星期二,对应的周字段为3?需要确认这一点。但可能用户更关心的是从特定期开始每三周,而不是基于星期几。这时候,使用期字段可能更可靠,但需要处理不同月份的天数变化。 另外,年份字段是可选的,所以可能需要设置年字段为2025开始,但Cron通常用于重复任务,而不是单次任务。用户可能需要结合其他机制,比如首次执行在指定时间,之后每隔三周。 不过,Cron表达式本身可能无法直接处理这种情况,因为它的设计更多是基于固定周期而非起始点的间隔。因此,可能的解决方案是设置期字段为8号,并且月份字段每隔三个月?但这样不对,因为三个月不等于三周。或者,使用字段为每21天,但字段最大值是31,无法设置超过31的数。例如,设置字段为8,然后加上21天,但下个月可能没有29号或31号,导致任务不执行。 这时候可能需要使用更复杂的逻辑,比如在字段设置为*/21,但这样会从每月1号开始,每21天执行一次,但无法指定起始期为8号。因此,这种方法可能不符合用户需求。 另一个思路是结合Cron的启动时间和周期性。比如,设置任务在每月的8号、29号(8+21=29)、然后下个月可能是20号(29+21=50,超过30天,所以下个月是50-30=20),但这样每个月的期不同,需要动态调整,Cron无法做到这一点。 因此,可能得出结论:标准的Cron表达式无法直接实现从特定期开始每隔三周执行的任务。需要借助其他方法,比如在首次执行后,每次任务执行时重新计算下一次的执行时间,或者使用更复杂的调度系统。 不过,用户可能希望尽可能用Cron表达式来实现。那么,可能需要设置周字段为每隔三周,并指定星期几。例如,如果起始期是星期二,那么每三周的星期二执行一次。Cron表达式中的周字段可以使用*/3,但需要确认语法是否正确。例如,在周字段中,使用3#3表示每月的第三个星期二,但这里需要每三周的星期二。 或者,使用周字段中的*/3,例如0 53 15 8 4 ? 2025/3,但这可能不正确,因为周字段的*/3表示每三周,但具体如何计算可能需要看具体实现。例如,Quartz的Cron表达式允许在周字段使用*/3,表示每隔三周的指定星期几。因此,假设起始期是2025年4月815:53,星期二,那么Cron表达式可能为: 秒 分 时 月 周 年 0 53 15 8 4 3 2025/3 但这里有几个问题:年字段的2025/3是否有效?在引用[2]中,年字段的范围是1970-2099,允许使用特殊字符,如*和/。所以年字段可以设置为2025/3,表示从2025年开始,每三年一次?但这显然不符合用户的需求,因为用户需要的是每三周,而不是每三年。因此,年字段无法用于设置周期间隔。 因此,正确的做法可能是在周字段中使用*/3,并结合期字段。例如,如果任务需要在每三周的星期二执行,那么周字段为3(假设3代表星期二),并且使用*/3。但Cron的周字段中的*/3是否表示每三周呢?或者,例如,0 53 15 ? * 3/3,这样可能表示每隔三周的星期二。但需要验证这种写法是否正确。 根据Quartz的文档,Cron表达式中的周字段允许使用步长,例如3/3表示从第3周开始,每隔3周。但这里的周指的是星期几,还是月份中的周数?这可能需要更仔细的确认。 例如,在Quartz中,周字段(Day of Week)的取值范围是1-7(SUN-SAT),因此,如果起始期是星期二,对应的是3。要每隔三周执行一次,可能需要在周字段使用3#3,但这表示每月第三个星期二,而不是每隔三周。 因此,似乎Cron表达式无法直接支持从特定期开始每隔三周的任务。可能需要结合字段和周字段来近似实现,但存在局限性。 因此,可能的解决方案是: 1. 确定首次执行的具体期和时间:2025年4月815:53,星期二。 2. 使用Cron表达式在每三周的同一星期几和同一时间执行,例如每周二每隔三周执行一次。 因此,Cron表达式可以设为:0 53 15 ? * 3/3 这里,3代表星期二,3/3表示每隔三周的星期二。但需要确认这种语法是否正确。根据Cron的语法,步长(/)用于指定增量,例如在周字段中3/3表示从第3周开始,每隔3周。但这里的周字段是指星期几,而不是月份中的周数,因此这种写法可能无效。因为周字段的取值范围是1-7,步长只能在该范围内循环。因此,3/3可能意味着每周的第三周?这可能不适用。 另一种可能是,使用字段来设置每21天(3周),例如:0 53 15 */21 * ? * 但字段的最大值是31,所以如果设置为*/21,则会在每月的第1天、22天(1+21=22)、然后下个月的第12天(22+21=43-31=12),依此类推。但这样实际的间隔可能是21天,但跨月时可能无法准确保持。例如,从4月8开始,加上21天是4月29,再加21天是5月20,依此类推。这种情况下,Cron表达式可以是0 53 15 8/21 * ? *,但8/21表示从8开始,每隔21天。但Cron的字段步长是否支持这种写法? 根据引用[2],字段允许使用特殊字符,包括*/。因此,8/21可能有效,表示从8开始,每隔21天执行一次。这样,表达式可能是:0 53 15 8/21 * ? 2025,但年字段是否需要设置?因为用户希望从2025年4月8开始,但之后每年都执行吗?或者只在2025年之后?如果用户希望任务从2025年开始,并且之后每三周执行一次,可能需要年字段设置为2025,但这样任务只会在2025年执行。因此,年字段可能需要省略,或者设置为*,表示所有年份。 不过,字段的步长语法可能在不同的Cron实现中有差异。例如,在Quartz中,字段允许使用从起始点开始的步长,如8/21表示从8开始,每隔21天执行一次。因此,正确的表达式可能是:0 53 15 8/21 * ? * 这样,任务会在4月8、29(8+21=29),5月20(29+21=50,4月有30天,所以5月50-30=20),6月10(20+21=41-31=10),依此类推,每21天执行一次。这可能满足用户的需求,尽管在跨月时期可能不是精确的三周,但由于每个月的天数不同,这种写法可能无法保证严格每三周一次,但可以近似实现。 因此,最终的Cron表达式可能是: 秒 分 时 月 周 年 0 53 15 8/21 * ? * 但需要验证这个表达式是否有效。例如,在Quartz中,字段不允许同时指定和周字段,因此可能需要将周字段设为?,以避免冲突。因此,正确的表达式应为:0 53 15 8/21 * ? * 这样,任务会在每个月的第8天开始,每隔21天触发一次,从而近似实现每三周执行一次的需求。不过,这种方法的准确性取决于每个月的天数,可能在跨月时出现偏差。例如,从4月8开始,21天后是4月29,再21天后是5月20(正确),但之后是6月10(5月20+21天=6月10),这确实是三周后的同一天。因此,在这种情况下,这种表达式可能是可行的。 因此,结合用户的起始时间2025年4月815:53,正确的Cron表达式应为: 0 53 15 8/21 * ? 2025 但年字段设置为2025会导致任务仅在2025年执行,之后不再执行。如果用户希望从2025年开始无限执行,可能需要省略年字段,或者设置为*。因此,表达式应为: 0 53 15 8/21 * ? * 不过,需要确认起始期是否为2025年4月8。如果系统在2025年之前启动,任务会在达到该期后开始执行。但Cron表达式本身无法指定起始年份,只能通过首次部署时间来控制。如果用户希望任务从2025年4月8开始,可能需要在该期之后部署任务,或者使用年字段设置为2025及以后,但Cron的年字段不支持范围如2025-*,因此可能需要设置为*,并在任务逻辑中检查年份是否>=2025。 综上所述,最接近的Cron表达式是使用字段的步长,设置为8/21,表达式为: 0 53 15 8/21 * ? * 这表示从每个月的8开始,每隔21天执行一次。虽然可能在跨月时期有变化,但平均间隔接近三周。如果用户需要精确的三周间隔,可能需要借助其他调度机制,而非Cron表达式。</think>要创建从2025年4月815点53分开始、每3周执行一次的Cron表达式,需注意以下实现细节: 1. **Cron表达式结构** Cron表达式格式为:`秒 分 时 月 周 年`(年字段可选)。根据引用[2],各字段取值范围如下: - (Day of month):1-31 - 周(Day of week):1-7(周到周六) - 年:1970-2099 2. **间隔实现难点** - Cron原生不支持“从特定期开始的周期性间隔” - 需通过期字段(``)结合步长(`/`)近似实现 3. **最终表达式** 表达式为: ```plaintext 0 53 15 8/21 * ? 2025 ``` - 分解说明: - `0 53 15`:15点53分00秒 - `8/21`:从每月8开始,每隔21天执行(21天≈3周) - `*`:任意月份 - `?`:忽略周字段(避免与字段冲突) - `2025`:年份限制(可选,若需无限期执行可设为`*`) 4. **注意事项** - **跨月误差**:由于月份天数不同,实际间隔可能略有偏差(如4月29→5月20→6月10) - **年份字段**:设为`2025`时仅在该年生效,若需长期执行需移除年份字段[^2] --- ### 相关问题 1. Cron表达式如何表示每月最后一天执行任务? 2. 如何配置Cron表达式在周末每隔2小时执行? 3. Cron的年字段在不同系统中的兼容性差异有哪些?[^3] [^1]: 引用自Cron表达式格式说明 [^2]: 参考Cron字段取值范围及步长语法 [^3]: 关于定时任务间隔配置的注意事项
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值