当前位置: 首页 > news >正文

东阿县建设招标网站重庆找工作最新招聘信息

东阿县建设招标网站,重庆找工作最新招聘信息,珠宝wordpress主题,网站打开速度变慢概述 前几天在使用 Terraform cloud-init 批量初始化我的实验室 Linux 机器。正好发现有一些定时场景需要使用到 cronjob, 进一步了解到 systemd timer 完全可以替换 cronjob, 并且 systemd timer 有一些非常有趣的功能。 回归话题#xff1a;为什么我推荐你使用 systemd t…概述 前几天在使用 Terraform cloud-init 批量初始化我的实验室 Linux 机器。正好发现有一些定时场景需要使用到 cronjob, 进一步了解到 systemd timer 完全可以替换 cronjob, 并且 systemd timer 有一些非常有趣的功能。 回归话题为什么我推荐你使用 systemd timer 替代 cronjob? 因为相比 cronjob, systemd timer 有这些优势 可以覆盖 cronjob 的所有功能统一日志收集到 systemd 日志针对时间精确度更详细的配置项除了定时场景还支持基于 event 的触发相比 cronjob 更灵活的语法更丰富的使用/运维命令集 接下来我们一一介绍。 首先我们通过系统自带的 timer 来熟悉这个新玩意。 系统自带的 timer 当 Ubuntu 或任何基于 systemd 的发行版安装在一个新系统上时它会创建几个 timer作为任何 Linux 主机后台的系统维护程序的一部分。这些 timer 会触发普通维护任务所需的事件比如更新系统数据库、清理临时目录、切割日志文件等等。 我们使用systemctl status *timer命令列出我的主机上的所有 timer: caseycasey-Virtual-Machine:~$ systemctl status *timer ● plocate-updatedb.timer - Update the plocate database dailyLoaded: loaded (/lib/systemd/system/plocate-updatedb.timer; enabled; vendor preset: enabled)Active: active (waiting) since Tue 2023-04-04 16:49:49 CST; 19s agoTrigger: Wed 2023-04-05 00:40:16 CST; 7h leftTriggers: ● plocate-updatedb.service4 月 04 16:49:49 casey-Virtual-Machine systemd[1]: Started Update the plocate database daily.● fwupd-refresh.timer - Refresh fwupd metadata regularlyLoaded: loaded (/lib/systemd/system/fwupd-refresh.timer; enabled; vendor preset: enabled)Active: active (waiting) since Tue 2023-04-04 16:49:49 CST; 19s agoTrigger: Wed 2023-04-05 01:54:51 CST; 9h leftTriggers: ● fwupd-refresh.service4 月 04 16:49:49 casey-Virtual-Machine systemd[1]: Started Refresh fwupd metadata regularly.● update-notifier-motd.timer - Check to see whether there is a new version of Ubuntu availableLoaded: loaded (/lib/systemd/system/update-notifier-motd.timer; enabled; vendor preset: enabled)Active: active (waiting) since Tue 2023-04-04 16:49:50 CST; 19s agoTrigger: Sat 2023-04-08 03:19:02 CST; 3 days leftTriggers: ● update-notifier-motd.service4 月 04 16:49:50 casey-Virtual-Machine systemd[1]: Started Check to see whether there is a new version of Ubuntu available.● fstrim.timer - Discard unused blocks once a weekLoaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)Active: active (waiting) since Tue 2023-04-04 16:49:49 CST; 19s agoTrigger: Tue 2023-04-04 17:58:23 CST; 1h 8min leftTriggers: ● fstrim.serviceDocs: man:fstrim4 月 04 16:49:49 casey-Virtual-Machine systemd[1]: Started Discard unused blocks once a week. ... 每个 timer 至少有六行信息与之相关 第一行是 timer 的文件名和对其用途的简短描述。第二行显示 timer 的状态它是否被加载timer unit 文件的完整路径以及供应商的预设。第三行显示其活动状态包括 timer 开始活动的日期和时间。第四行包含 timer 下次被触发的日期和时间以及直到触发发生的大致时间。第五行显示由 timer 触发的事件或服务的名称。一些但不是全部systemd unit 文件有指向相关文档的指针。如上面的 Docs: man:fstrim最后一行是 timer 所触发的服务的最新实例的日志条目。 创建 timer 优势之一统一日志收集到 systemd 日志 为了更快了解 timer, 我们创建自己的 service unit 和 timer unit 来触发。 具体用途为每周定期更新 tailscale 的版本。 首先创建 tailscale update 服务如下 [Unit] DescriptionTailscale update Wantstailscale-weekly-update.timer[Service] Typeoneshot ExecStart/usr/bin/tailscale update -yes[Install] WantedBymulti-user.target 然后创建 tailscale update timer, 如下 [Unit] DescriptionTailscale update Requirestailscale-weekly-update.service[Timer] Unittailscale-weekly-update.service OnCalendarweekly[Install] WantedBytimers.target 最后启用 timer: systemctl enable tailscale-weekly-update.timer 这样就可以了但是为了演示执行systemctl start tailscale-weekly-update.service 手动运行一次。 输出会直接集成到 systemd 日志里并可以通过 journalctl 查看包含手动执行日志和后续自动定期执行的日志 $ sudo journalctl -S 2023-03-29 00:00:00 -u tailscale-weekly-update.service 4 月 02 09:14:28 casey-Virtual-Machine systemd[1]: Starting Tailscale node agent... 4 月 02 09:14:30 casey-Virtual-Machine tailscale[6898]: 获取1 https://pkgs.tailscale.com/stable/ubuntu jammy InRelease 4 月 02 09:14:30 casey-Virtual-Machine tailscale[6898]: 获取2 https://pkgs.tailscale.com/stable/ubuntu jammy/main amd64 Packages [7,853 B] 4 月 02 09:14:32 casey-Virtual-Machine tailscale[6898]: 已下载 13.9 kB耗时 1 秒 (14.4 kB/s) 4 月 02 09:14:32 casey-Virtual-Machine tailscale[6898]: 正在读取软件包列表。.. 4 月 02 09:14:33 casey-Virtual-Machine tailscale[7101]: 正在读取软件包列表。.. 4 月 02 09:14:33 casey-Virtual-Machine tailscale[7101]: 正在分析软件包的依赖关系树。.. 4 月 02 09:14:33 casey-Virtual-Machine tailscale[7101]: 正在读取状态信息。.. 4 月 02 09:14:33 casey-Virtual-Machine tailscale[7101]: 下列软件包将被升级 4 月 02 09:14:33 casey-Virtual-Machine tailscale[7101]: tailscale 4 月 02 09:14:34 casey-Virtual-Machine tailscale[7101]: 升级了 1 个软件包新安装了 0 个软件包要卸载 0 个软件包有 4 个软件包未被升级。 4 月 02 09:14:34 casey-Virtual-Machine tailscale[7101]: 需要下载 23.0 MB 的归档。 4 月 02 09:14:34 casey-Virtual-Machine tailscale[7101]: 解压缩后将会空出 1,024 B 的空间。 4 月 02 09:14:34 casey-Virtual-Machine tailscale[7101]: 获取1 https://pkgs.tailscale.com/stable/ubuntu jammy/main amd64 tailscale amd64 1.38.3 [23.0 MB] 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7115]: debconf: 无法初始化前端界面Dialog 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7115]: debconf: 系统未设定 TERM 环境变量所以对话框界面将不可使用。) 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7115]: debconf: 返回前端界面Readline 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7115]: debconf: 无法初始化前端界面Readline 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7115]: debconf: 这个界面要求可控制的 tty。) 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7115]: debconf: 返回前端界面Teletype 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7115]: dpkg-preconfigure: 重新开启标准输入失败 4 月 02 09:15:13 casey-Virtual-Machine tailscale[7101]: 已下载 23.0 MB耗时 40 秒 (577 kB/s) 4 月 02 09:15:14 casey-Virtual-Machine tailscale[7101]: [729B blob data] 4 月 02 09:15:14 casey-Virtual-Machine tailscale[7101]: 准备解压 .../tailscale_1.38.3_amd64.deb ... 4 月 02 09:15:14 casey-Virtual-Machine tailscale[7101]: 正在解压 tailscale (1.38.3) 并覆盖 (1.38.2) ... 4 月 02 09:15:15 casey-Virtual-Machine tailscale[7101]: 正在设置 tailscale (1.38.3) ... 4 月 02 09:15:23 casey-Virtual-Machine tailscale[7325]: Running kernel seems to be up-to-date. 4 月 02 09:15:23 casey-Virtual-Machine tailscale[7325]: Services to be restarted: 4 月 02 09:15:23 casey-Virtual-Machine tailscale[7325]: systemctl restart tailscale-weekly-update.service 4 月 02 09:15:23 casey-Virtual-Machine tailscale[7325]: No containers need to be restarted. 4 月 02 09:15:23 casey-Virtual-Machine tailscale[7325]: No user sessions are running outdated binaries. 4 月 02 09:15:23 casey-Virtual-Machine tailscale[7325]: No VM guests are running outdated hypervisor (qemu) binaries on this host. 4 月 02 09:15:24 casey-Virtual-Machine systemd[1]: tailscale-weekly-update.service: Deactivated successfully. 4 月 02 09:15:24 casey-Virtual-Machine systemd[1]: Finished Tailscale node agent. 4 月 02 09:15:24 casey-Virtual-Machine systemd[1]: tailscale-weekly-update.service: Consumed 6.317s CPU time.$ sudo journalctl -S 2023-03-29 00:00:00 -u tailscale-weekly-update.timer 4 月 02 09:14:28 casey-Virtual-Machine systemd[1]: Started Tailscale node agent. 4 月 02 20:01:52 casey-Virtual-Machine systemd[1]: tailscale-weekly-update.timer: Deactivated successfully. 4 月 02 20:01:52 casey-Virtual-Machine systemd[1]: Stopped Tailscale node agent.如上面的日志可以很方便地检查 timer 和服务的状态。 在日志这方面你不需要做任何特别的事情就可以使tailscale-weekly-update.service unit 中的ExecStart触发器的STDOUT存储在日志中。这都是使用 systemd 运行服务的一部分。 Systemd timer 时间精度 优势之一针对时间精确度更详细的配置项 从上面日志如果细看timer 不会在:00秒的时候准确触发甚至不会在上一个实例的一分钟内准确触发。这是故意的但如果有必要的话可以覆盖它的默认配置。 这种行为的原因是为了防止多个服务在完全相同的时间被触发。例如你可以使用时间规格如每周、每天等等。这些快捷方式都被定义为在它们被触发的那一天的 00:00:00 时触发。当多个 timer 被这样指定时它们很有可能会试图同时启动。 systemd timer 被有意设计成在指定时间内随机触发以防止同时触发。它们在一个时间窗口内半随机地触发。根据systemd.timer手册这个触发时间相对于所有其他定义的 timer 单位来说保持在一个稳定的位置。 大多数时候这种概率性的触发时间是没有问题的。当安排备份等任务运行时只要它们在非工作时间运行就不会有问题。一个系统管理员可以选择一个确定的开始时间如典型的 cronjob 规范中的 01:05:00以不与其他任务冲突但有很大范围的时间值可以达到这个目的。启动时间中的一分钟随机性通常是不相关的。 然而对于某些任务精确的触发时间是一个绝对要求。对于这些任务你可以通过在 timer unit 文件的 Timer 部分添加这样的配置来指定更高的触发时间跨度精度如精度在一微秒内 AccuracySec1us 时间跨度可用于指定所需的精度以及为重复性或一次性事件定义时间跨度。它可以识别以下单位 usec, us, µsmsec, msseconds, second, sec, sminutes, minute, min, mhours, hour, hr, hdays, day, dweeks, week, wmonths, month, M 定义为 30.44 天years, year, y 定义为 365.25 天 /usr/lib/systemd/system中的所有默认 timer 都指定了一个更大的精度范围因为精确的时间并不关键。看看系统创建的 timer 中的一些规格 $ grep Accur /usr/lib/systemd/system/*timer /usr/lib/systemd/system/fstrim.timer:AccuracySec1h /usr/lib/systemd/system/logrotate.timer:AccuracySec1h /usr/lib/systemd/system/plocate-updatedb.timer:AccuracySec20min /usr/lib/systemd/system/snapd.snap-repair.timer:AccuracySec10min Timer 类型 优势之一除了定时场景还支持基于 event 的触发 systemd timer 具有 cron 所不具备的其他功能cron 只在特定的、重复的、实时的日期和时间触发。但是一个 timer 可以被配置为在系统启动后或在启动后或在某个定义的服务 unit 激活后的特定时间内触发。这些被称为单调性 timer。单调指的是一个持续增加的计数或序列。这些 timer 不是持久的因为它们在每次启动后都会重置。 表 1 列出了单调的 timer 以及每个 timer 的简短定义还有 OnCalendar timer它不是单调的用于指定未来的时间可能是重复的也可能不是。 Timer单调性定义OnActiveSecX这定义了一个相对于 timer 被激活的时刻的 timer。OnBootSecX这定义了一个相对于机器启动时间的 timer。OnStartupSecX这定义了一个相对于服务管理器首次启动时间的计时器。对于系统 timer unit这与OnBootSec非常相似因为系统服务管理器通常在启动时很早就启动。当配置在每个用户服务管理器中运行的单元时它主要是有用的因为用户服务管理器一般只在第一次登录时启动而不是在启动时。OnUnitActiveSecX这定义了一个相对于要激活的 timer 最后一次被激活的时间。OnUnitInactiveSecX这定义了一个相对于要激活的 timer 最后被停用的时间的定时器。OnCalendar这就用日历事件表达式定义了实时 timer。更多关于日历事件表达式的语法信息请参见systemd.time(7)。否则其语义与OnActiveSec及相关设置类似。这个 timer 是最像那些与 cron 服务一起使用的 timer。 表 1: systemd timer 定义 单调 timer 的时间跨度可以使用与前面提到的AccuracySec语句相同的快捷名称但 systemd 将这些名称规范化为秒。例如你可能想指定一个 timer在系统启动 5 天后触发一次事件可以这样写 OnBootSec5d。如果主机在2020-06-15 09:45:27启动timer 将在2020-06-20 09:45:27或之后一分钟内触发。 Calendar event 定义 优势之一相比 cronjob 更灵活的语法 Calendar event 定义是在所需的重复时间触发 timer 的关键部分。首先看一下OnCalendar设置中使用的一些规格。 systemd 及其 timer 使用的时间和日期规格与 crontab 中使用的格式不同。它比 crontab 更灵活允许以at命令的方式模糊日期和时间。 使用OnCalendar的 systemdtimer 的基本格式是DOW YYYY-MM-DD HHMMSS。DOW星期是可选的其他字段可以使用星号*来匹配该位置的任何值。所有日历时间形式都被转换为规范化的形式。如果没有指定时间则假定其为 00:00:00。如果没有指定日期但指定了时间那么下一个匹配可能是今天或明天这取决于当前的时间。名称或数字可用于月份和星期。可以指定每个单位的逗号分隔的列表。单位范围可以在开始和结束值之间用...来指定。 有几个有趣的选项用于指定日期。波浪号~可以用来指定该月的最后一天或该月最后一天之前的指定天数。/可以用来指定一周中的某一天作为修饰语。 下面是一些在OnCalendar语句中使用的典型时间规格的例子 Calendar event 定义描述DOW YYYY-MM-DD HH:MM:SS*-*-* 00:15:30每年的每个月的每一天在午夜后的 15 分钟 30 秒。Weekly每个星期一的 00:00:00Mon *-*-* 00:00:00与每周相同Mon与每周相同Wed 2020-*-*2020 年的每个星期三00:00:00Mon..Fri 2021-*-*2021 年的每个工作日的 00:00:002023-6,7,8-1,15 01:15:002023 年 6 月、7 月和 8 月的 1 日和 15 日凌晨 01:15:00Mon *-05~03任何一年的 5 月的下一个星期一也是月末的第三天。Mon..Fri *-08~04任何年份的 8 月底前的第 4 天如果该天也是工作日则为 8 月底。*-05~03/2从五月底开始的第三天两天后再来一次。每年都会重复。请注意这个表达式使用了~。*-05-03/2五月的第三天然后在五月的其余时间里每隔一天。每年重复一次。注意这个表达式使用了破折号-。 表 2: 示例OnCalendar event 定义 测试 calendar 定义 优势之一更丰富的使用/运维命令集 systemd 提供了一个很好的工具来验证和检查 timer 中的日历时间事件规范。systemd-analyze calendar工具解析了一个日历时间事件规范并提供了规范化的形式以及其他有趣的信息比如下一个 elapse即匹配的日期和时间以及达到触发时间前的大致时间。 首先看一下未来的一个没有时间的日期 $ systemd-analyze calendar 2030-06-17Original form: 2030-06-17 Normalized form: 2030-06-17 00:00:00Next elapse: Mon 2030-06-17 00:00:00 CST(in UTC): Sun 2030-06-16 16:00:00 UTCFrom now: 7 years 2 months left 现在添加一个时间。在这个例子中日期和时间作为非相关实体被单独分析 $ systemd-analyze calendar 2030-06-17 15:21:16Original form: 2030-06-17 Normalized form: 2030-06-17 00:00:00Next elapse: Mon 2030-06-17 00:00:00 CST(in UTC): Sun 2030-06-16 16:00:00 UTCFrom now: 7 years 2 months leftOriginal form: 15:21:16 Normalized form: *-*-* 15:21:16Next elapse: Wed 2023-04-05 15:21:16 CST(in UTC): Wed 2023-04-05 07:21:16 UTCFrom now: 21h left 要把日期和时间作为一个 unit 来分析需要用引号把它们括起来。 $ systemd-analyze calendar 2030-06-17 15:21:16 Normalized form: 2030-06-17 15:21:16Next elapse: Mon 2030-06-17 15:21:16 CST(in UTC): Mon 2030-06-17 07:21:16 UTCFrom now: 7 years 2 months left 现在测试表 2 中的条目。选一个复杂的 $ systemd-analyze calendar 2023-6,7,8-1,15 01:15:00Original form: 2023-6,7,8-1,15 01:15:00 Normalized form: 2023-06,07,08-01,15 01:15:00Next elapse: Thu 2023-06-01 01:15:00 CST(in UTC): Wed 2023-05-31 17:15:00 UTCFrom now: 1 month 26 days left 让我们看一个例子在这个例子中我们列出了时间戳表达式的下五个执行时间 $ systemd-analyze calendar --iterations5 Mon *-05~3Original form: Mon *-05~3 Normalized form: Mon *-05~03 00:00:00Next elapse: Mon 2023-05-29 00:00:00 CST(in UTC): Sun 2023-05-28 16:00:00 UTCFrom now: 1 month 23 days leftIter. #2: Mon 2028-05-29 00:00:00 CST(in UTC): Sun 2028-05-28 16:00:00 UTCFrom now: 5 years 1 month leftIter. #3: Mon 2034-05-29 00:00:00 CST(in UTC): Sun 2034-05-28 16:00:00 UTCFrom now: 11 years 1 month leftIter. #4: Mon 2045-05-29 00:00:00 CST(in UTC): Sun 2045-05-28 16:00:00 UTCFrom now: 22 years 1 month leftIter. #5: Mon 2051-05-29 00:00:00 CST(in UTC): Sun 2051-05-28 16:00:00 UTCFrom now: 28 years 1 month left 这应该给你足够的信息来开始测试你的OnCalendar时间规格。 总结 systemd timer 可以用来执行与 cron 工具相同类型的任务但在触发事件的 calendar 和单调的时间规格方面提供了更多的灵活性。 除此之外systemd timer 还有的优势包括 统一日志收集到 systemd 日志针对时间精确度更详细的配置项更丰富的使用/运维命令集 快去尝试迁移你的 cronjob 到 systemd timer 吧~ 参考资料 Use systemd timers instead of cronjobsFedora 的 systemd 指南Fedora 的 systemd cheat sheet 三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.
文章转载自:
http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn
http://www.morning.wfqcs.cn.gov.cn.wfqcs.cn
http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn
http://www.morning.xrnh.cn.gov.cn.xrnh.cn
http://www.morning.rnds.cn.gov.cn.rnds.cn
http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn
http://www.morning.tssmk.cn.gov.cn.tssmk.cn
http://www.morning.kcdts.cn.gov.cn.kcdts.cn
http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn
http://www.morning.lsgjf.cn.gov.cn.lsgjf.cn
http://www.morning.dfrenti.com.gov.cn.dfrenti.com
http://www.morning.enjoinfo.cn.gov.cn.enjoinfo.cn
http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn
http://www.morning.gcxfh.cn.gov.cn.gcxfh.cn
http://www.morning.gthgf.cn.gov.cn.gthgf.cn
http://www.morning.beiyishengxin.cn.gov.cn.beiyishengxin.cn
http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn
http://www.morning.ypktc.cn.gov.cn.ypktc.cn
http://www.morning.fxpyt.cn.gov.cn.fxpyt.cn
http://www.morning.pffqh.cn.gov.cn.pffqh.cn
http://www.morning.tkflb.cn.gov.cn.tkflb.cn
http://www.morning.ntdzjx.com.gov.cn.ntdzjx.com
http://www.morning.ympcj.cn.gov.cn.ympcj.cn
http://www.morning.qpzjh.cn.gov.cn.qpzjh.cn
http://www.morning.cnlmp.cn.gov.cn.cnlmp.cn
http://www.morning.mfltz.cn.gov.cn.mfltz.cn
http://www.morning.benqc.com.gov.cn.benqc.com
http://www.morning.mmosan.com.gov.cn.mmosan.com
http://www.morning.dyhlm.cn.gov.cn.dyhlm.cn
http://www.morning.dcdhj.cn.gov.cn.dcdhj.cn
http://www.morning.wjpsn.cn.gov.cn.wjpsn.cn
http://www.morning.sjwzz.cn.gov.cn.sjwzz.cn
http://www.morning.hmktd.cn.gov.cn.hmktd.cn
http://www.morning.rmppf.cn.gov.cn.rmppf.cn
http://www.morning.bmqls.cn.gov.cn.bmqls.cn
http://www.morning.wjqbr.cn.gov.cn.wjqbr.cn
http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn
http://www.morning.pmnn.cn.gov.cn.pmnn.cn
http://www.morning.sgrdp.cn.gov.cn.sgrdp.cn
http://www.morning.trrrm.cn.gov.cn.trrrm.cn
http://www.morning.lgcqj.cn.gov.cn.lgcqj.cn
http://www.morning.hjrjy.cn.gov.cn.hjrjy.cn
http://www.morning.cbpmq.cn.gov.cn.cbpmq.cn
http://www.morning.ptzf.cn.gov.cn.ptzf.cn
http://www.morning.hdscx.cn.gov.cn.hdscx.cn
http://www.morning.kphyl.cn.gov.cn.kphyl.cn
http://www.morning.wyjpt.cn.gov.cn.wyjpt.cn
http://www.morning.slfkt.cn.gov.cn.slfkt.cn
http://www.morning.jmtrq.cn.gov.cn.jmtrq.cn
http://www.morning.fbdkb.cn.gov.cn.fbdkb.cn
http://www.morning.guanszz.com.gov.cn.guanszz.com
http://www.morning.htpjl.cn.gov.cn.htpjl.cn
http://www.morning.tkryt.cn.gov.cn.tkryt.cn
http://www.morning.rbtny.cn.gov.cn.rbtny.cn
http://www.morning.qinhuangdjy.cn.gov.cn.qinhuangdjy.cn
http://www.morning.rnygs.cn.gov.cn.rnygs.cn
http://www.morning.dnycx.cn.gov.cn.dnycx.cn
http://www.morning.hwbf.cn.gov.cn.hwbf.cn
http://www.morning.fewhope.com.gov.cn.fewhope.com
http://www.morning.fjntg.cn.gov.cn.fjntg.cn
http://www.morning.tmbtm.cn.gov.cn.tmbtm.cn
http://www.morning.linzhigongmao.cn.gov.cn.linzhigongmao.cn
http://www.morning.tgfjm.cn.gov.cn.tgfjm.cn
http://www.morning.dnqliv.cn.gov.cn.dnqliv.cn
http://www.morning.wpmlp.cn.gov.cn.wpmlp.cn
http://www.morning.nwgkk.cn.gov.cn.nwgkk.cn
http://www.morning.kmrgl.cn.gov.cn.kmrgl.cn
http://www.morning.zbhfs.cn.gov.cn.zbhfs.cn
http://www.morning.hbywj.cn.gov.cn.hbywj.cn
http://www.morning.ltywr.cn.gov.cn.ltywr.cn
http://www.morning.gjxr.cn.gov.cn.gjxr.cn
http://www.morning.rdpps.cn.gov.cn.rdpps.cn
http://www.morning.jjzxn.cn.gov.cn.jjzxn.cn
http://www.morning.pqjlp.cn.gov.cn.pqjlp.cn
http://www.morning.qrnbs.cn.gov.cn.qrnbs.cn
http://www.morning.dxzcr.cn.gov.cn.dxzcr.cn
http://www.morning.xppj.cn.gov.cn.xppj.cn
http://www.morning.ssmhn.cn.gov.cn.ssmhn.cn
http://www.morning.pmptm.cn.gov.cn.pmptm.cn
http://www.morning.yrbq.cn.gov.cn.yrbq.cn
http://www.tj-hxxt.cn/news/281863.html

相关文章:

  • 如何建设淘宝客网站彩票创建网站
  • 有谁做分销网站外贸crm客户管理软件
  • 外贸推广建站蓝颜seo牛请问有没有做网站
  • 网站备案个人和企业的区别侯斯特 wordpress
  • j2ee 网站开发珠海市网站建设开发公司
  • 达州市建设局网站php源码论坛
  • 新乡网站建设公司客户管理系统crm
  • 江西省城乡建设网站开发小程序定制公司
  • 一般给公司做网站怎么收费深圳网站建设服务哪个便宜啊
  • 爱情表白网站制作徐州做网站建设公司
  • 做ppt比较好的网站做一个网站开发项目有哪些阶段
  • 廊坊网站制作公司oa系统使用教程
  • 网站建设行业怎么样桂林论坛
  • 音乐网站建设价格网站空间不足
  • ftp上传网站教程让别人做网站需要注意什么问题
  • 公司如何办网站wordpress设置文章图片
  • 上海物流网站怎么建设百度公司总部地址
  • 哪家做网站的公司定制网络推广计划
  • 海外网站速度慢电脑手机自适应网站的建设
  • 微信公众号服务号网站开发流程优化服务公司
  • 建设银行征信中心官方网站国内新闻大事20条
  • 广州建网站的公司 白云区对网站开发的理解500字
  • 网站建设优化制作公司个人小程序开发
  • 微信网站背景图片手机网站模板图片
  • 网站开发多少费用自己建网站怎样建
  • jsp网站开发难点学做川菜下什么网站
  • 网站空间如何续费网站开发 前端如何学习
  • 河南建设厅网站查证绍兴网站制作方案定制
  • 网站制作评价制作图片模板
  • 建设银行广西分行网站合肥刚刚发布紧急通知