56、Ubuntu 系统中的任务调度与远程访问指南

Ubuntu 系统中的任务调度与远程访问指南

1. Ubuntu 系统中的任务调度

在 Ubuntu 系统中,有多种方式可以进行任务调度,使程序在特定时间运行,下面为你详细介绍。

1.1 一次性任务调度

如果你想快速安排一次性任务,可以使用 GNOME Scheduler。这种类型的调度任务不依赖 cron 守护进程,而是依靠 at 命令。at 命令适用于仅需在特定时刻执行一次的任务。

具体操作步骤如下:
1. 依次点击“Applications” -> “System Tools” -> “Scheduled tasks”。
2. 点击“New”按钮,选择“A task that launches one time”选项。
3. 在弹出的“Create a New Scheduled Task”对话框中,为任务添加描述,选择日期和时间,并输入要执行的命令。
4. 点击“Add”按钮,使任务生效。

此外,在创建重复任务或一次性任务时,“Create a New Scheduled Task”窗口中有一个“Add as template”按钮。该按钮可用于存储任务配置,而不实际安排任务。当有多个配置相似的任务时,你可以先创建一个模板,再基于该模板创建任务。使用模板时,在 GNOME Scheduler 主窗口中点击“Manage Templates”按钮,选择模板并点击“Use template”按钮,进行必要的更改后点击“Apply”即可创建任务。

1.2 使用 anacron 进行任务调度

cron 和 GNOME Scheduler 的一个缺点是要求计算机始终处于运行状态。如果在午夜左右安排了一个任务,但此时计算机未开机,任务将无法运行。anacron 就是为解决这个问题而创建的。

anacron 不依赖精确的时间或日期,而是基于时间段的原则工作。例如,任务可以设置为每天运行,也可以设置为每 x 天运行一次,无论 x 是 2 还是十万。即使计算机在这段时间内关机并重新启动,任务也只会在指定的时间段内运行一次。此外,任务还可以专门设置为在每个月的月初运行,而不考虑每个月的天数。

anacron 主要用于系统维护,任务详细信息存储在 /etc/anacrontab 文件中。与 crontab 不同,每个用户没有自己的 anacrontab 文件,但你可以将自己的命令添加到主 anacrontab 文件中。该文件可以在任何文本编辑器中进行修改,不过需要使用超级用户(root)权限。

anacrontab 文件中每行的格式如下:

days     delay     name of task     command
  • days 字段:表示任务运行的间隔天数。例如,输入 1 表示每天运行,输入 9 表示每 9 天运行一次,输入 @monthly 表示每月运行。
  • delay 字段:告诉 anacron 在运行任务前等待的时间,以分钟为单位。默认情况下,anacron 在开机时运行,如果同时运行所有计划任务,计算机可能会因负载过重而停滞。通常延迟 5 分钟就足够了,但如果在该任务之前已经有其他任务计划在同一天运行,则应留出足够的时间让它们完成。
  • name of task 字段:用于个人参考,不应包含斜杠或空格,建议使用下划线或句点分隔单词。
  • command 字段:与 crontab 一样,是要运行的 shell 命令。

各字段可以用空格或制表符分隔。

下面是一个 anacrontab 条目的示例:

1     15     backup_job     tar -cjf /home/ubuntu/mybackup.tar.bz2 /home/ubuntu

这个条目表示每天运行指定的 tar 命令,并且在 anacron 首次运行后延迟 15 分钟执行。

anacron 会在每次开机时自动运行,你也可以在命令提示符下以超级用户权限手动运行:

sudo anacron
2. 远程访问计算机

Linux 在网络支持方面表现出色,包括跨互联网的网络连接。下面介绍如何远程访问 Ubuntu 计算机,以及如何使用 Ubuntu 访问其他计算机。

2.1 使用 Secure Shell(SSH)

在 UNIX 的历史中,计算机之间的连接方式多种多样。但在现代互联网环境下,数据隐私面临威胁,为了应对这一问题,ssh 程序套件应运而生。目前,大多数 Linux 发行版(包括 Ubuntu)使用的是 OpenSSH 这一开源版本。

SSH 的目标是在两台计算机之间建立安全连接,你可以在远程计算机上执行各种任务,如启动 shell 会话、复制文件等。SSH 在连接的两端使用各种技术,不仅对两台计算机之间传输的数据进行加密,还对用户名和密码进行加密。

在进行远程登录前,需要确保远程计算机能够接受 SSH 连接,即它正在运行 SSH 服务器程序(服务或守护进程),并且其防火墙为传入连接开放了端口。

在 Ubuntu 系统中,默认只安装了 OpenSSH 的客户端组件。要安装服务器组件以实现远程访问,可按以下步骤操作:
1. 打开“Ubuntu Software Center”(Applications -> Ubuntu Software Center)。
2. 搜索“openssh-server”,选择名为“secure shell (SSH) server, for secure access from remote machines”的应用程序并点击安装。
3. 安装完成后,配置是自动的。如果你使用的是 Ubuntu 防火墙,需要配置一个传入规则以开放端口 22(SSH 连接的标准端口)。为了安全起见,SSH 端口通常会从默认值更改为其他不太容易被攻击者发现的值。

发起 SSH 会话通常在本地计算机的命令提示符下输入以下命令:

ssh <username>@<IP address>

你需要指定要登录的用户名以及远程计算机的 IP 地址。如果要访问的系统有完全限定域名(FQDN),也可以使用该域名代替 IP 地址。首次登录时,会看到如下提示:

The authenticity of the host <host IP address> can't be established

这意味着远程计算机的加密密钥尚未添加到你的计算机的存储文件中。同意初始登录后,加密密钥将被添加,以后将用于确认你连接的远程计算机的真实性。

确认连接后,输入要登录的用户账户的密码,登录成功后,你将获得远程计算机的 shell 登录权限,可以像在本地一样运行命令和执行任务。要结束 SSH 会话,只需输入“exit”或按下“Ctrl + D”即可。

此外,有一个适用于多种非 Linux 操作系统的 SSH 客户端版本,如 PuTTY,可从 www.chiark.greenend.org.uk/~sgtatham/putty/ 及世界各地的许多镜像站点下载。PuTTY 也可用于 Linux 系统,你可以通过 Ubuntu Software Center 进行安装。另一个用于 SSH 和 SCP 的图形前端是 SecPanel,同样可在 Ubuntu Software Center 中找到。

2.2 管理远程会话

使用 SSH 启动远程 shell 会话时,当你关闭 shell 窗口或退出 SSH 连接,正在运行的任务也会随之结束。为了解决这个问题,可以使用 screen 程序。

在通过 SSH 登录到远程计算机后,在提示符下输入“screen”即可启动一个 screen 会话。选择颜色方案后,没有明显的迹象表明你正在运行 screen 会话,它完全在后台工作。

要从 screen 会话中分离出来,按下“Ctrl + A”,然后按下“Ctrl + D”。此时你将返回到标准 shell,甚至可以像往常一样断开 SSH 连接,但 screen 会话仍将在远程计算机的后台运行。要重新连接到 screen 会话,登录后输入“screen -r”即可继续之前的操作。要退出 screen 会话,可以在会话中输入“exit”或按下“Ctrl + A”,然后按下反斜杠键“\”。

2.3 远程计算机之间的文件传输

SSH 实用程序提供了两种基本的文件传输方式:scp 和 sftp。对于较小的文件传输,scp 是一个不错的选择;如果要复制大量文件,sftp 可能更合适。

  • 使用 scp
    scp 是一个基于 SSH 协议安全地将文件从一台计算机复制到另一台计算机的程序。即使不通过 SSH 登录到另一台计算机,也可以使用 scp。例如,要将本地文件 myfile 传输到远程计算机,可以在本地计算机的命令提示符下输入以下命令:
scp myfile <username>@<IP address>:/home/username/

如果要复制整个目录,可以添加 -r 命令选项,如:

scp -r mydirectory <username>@<IP address>:/path/
  • 使用 sftp
    要复制大量文件到远程计算机或从远程计算机复制大量文件,sftp 是最佳解决方案。它使用与 SSH 相同的安全连接。

启动 sftp 会话的命令格式如下:

sftp <username>@<IP address>

登录规则与 SSH 相同。sftp 的基本命令如下:
| 命令 | 功能 |
| ---- | ---- |
| Cd | 更改远程目录 |
| Lcd | 更改本地目录 |
| Get | 下载指定文件 |
| Mget | 下载多个指定文件 |
| Ls | 列出远程目录 |
| Lls | 列出本地目录 |

例如,要从远程机器复制文件到本地,可以使用“get ”命令;要将本地文件发送到远程机器,可以使用“put ”命令。如果在文件名后指定路径,可以将文件复制到指定的本地或远程目录。此外,以感叹号“!”开头的命令将在本地机器上作为 shell 命令执行。

通过以上方法,你可以在 Ubuntu 系统中有效地进行任务调度和远程访问操作。

Ubuntu 系统中的任务调度与远程访问指南(续)

3. 远程访问与文件传输的实际应用场景及注意事项
3.1 实际应用场景
  • 系统管理 :当你需要在不同地点管理 Ubuntu 服务器时,远程访问功能就显得尤为重要。例如,你可以通过 SSH 登录到服务器,进行软件更新、配置文件修改等操作,而无需亲自到服务器所在的机房。
  • 技术支持 :如果你需要帮助他人解决 Ubuntu 系统上的问题,远程访问可以让你直接操作对方的计算机,快速定位并解决问题。
  • 数据备份与共享 :利用 scp 或 sftp 可以方便地在不同计算机之间传输文件,实现数据的备份和共享。例如,你可以定期将重要数据从本地计算机备份到远程服务器上。
3.2 注意事项
  • 安全问题 :远程访问涉及到网络安全,因此需要采取一些措施来确保安全。除了更改 SSH 端口外,还可以使用密钥认证代替密码认证,避免密码被破解。同时,定期更新系统和软件,安装防火墙,防止黑客攻击。
  • 性能影响 :在进行大量文件传输时,可能会对网络带宽和计算机性能产生影响。因此,建议在网络空闲时段进行大文件的传输,或者使用压缩工具减小文件大小。
  • 权限管理 :在使用 anacron 或 SSH 进行任务调度和远程访问时,要注意权限管理。确保只有授权用户可以访问系统和执行任务,避免数据泄露和系统被破坏。
4. 总结与展望
4.1 总结

通过本文的介绍,我们了解了 Ubuntu 系统中任务调度和远程访问的多种方法。在任务调度方面,GNOME Scheduler 可以方便地安排一次性任务,而 anacron 则可以解决计算机关机导致任务无法执行的问题。在远程访问方面,SSH 提供了安全的连接方式,让我们可以在不同地点操作远程计算机。同时,scp 和 sftp 为文件传输提供了便捷的途径。

4.2 展望

随着技术的不断发展,Ubuntu 系统的任务调度和远程访问功能也将不断完善。未来可能会出现更加智能化的任务调度工具,能够根据系统负载和用户需求自动调整任务执行时间。在远程访问方面,可能会有更加安全、高效的协议和工具出现,进一步提升用户体验。

下面是一个 mermaid 流程图,展示了使用 SSH 进行远程登录和文件传输的基本流程:

graph LR
    A[本地计算机] -->|输入 ssh 命令| B(发起 SSH 会话)
    B -->|确认加密密钥| C{登录远程计算机}
    C -->|成功登录| D(执行命令)
    D -->|使用 scp 或 sftp| E(文件传输)
    E -->|完成传输| F(结束会话)
    C -->|登录失败| G(检查配置和密码)
    G -->|重新尝试| B

总之,掌握 Ubuntu 系统的任务调度和远程访问技术,可以让我们更加高效地管理和使用计算机,提高工作效率和数据安全性。希望本文对你有所帮助。

这个是完整源码 python实现 Django 【python毕业设计】基于Python的天气预报(天气预测分析)(Django+sklearn机器学习+selenium爬虫)可视化系统.zip 源码+论文+sql脚本 完整版 数据库是mysql 本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后,将其存储在后端数据库中,以供后续分析。 其次,采用s,将其存储在后端数据库中,以供后续分析。 其次,采用sklearn机器学习库构建预测模型,通过时间序列分析和回归方法,对未来天气情况进行预测。我们利用以往的数据训练模型,以提高预测的准确性。通过交叉验证和超参数优化等技术手段,我们优化了模型性能,确保其在实际应用中的有效性和可靠性。 最后,基于Django框架开发前端展示系统,实现天气预报的可视化。用户可以通过友好的界面查询实时天气信息和未来几天内的天气预测。系统还提供多种图表类型,包括折线图和柱状图,帮助用户直观理解天气变化趋势。 本研究的成果为天气预报领域提供了一种新的技术解决方案,不仅增强了数据获取和处理的效率,还提升了用户体验。未来,该系统能够扩展至其他气象相关的应用场景,为大众提供更加准确和及时的气象服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值