2026/1/12 23:25:06
网站建设
项目流程
威海城市 建设信息网站,模型下载网站开发流程图,只做动漫的网站,购买设备有什么网站做参考Ubuntu系统任务调度与远程访问全攻略1. Ubuntu任务调度在Ubuntu系统中#xff0c;为了保证系统的顺畅运行#xff0c;我们常常需要定期执行一些任务#xff0c;比如日常备份/home文件夹#xff0c;或是清理/tmp文件夹以确保磁盘有足够的可用空间。要是手动执行这些任务为了保证系统的顺畅运行我们常常需要定期执行一些任务比如日常备份/home文件夹或是清理/tmp文件夹以确保磁盘有足够的可用空间。要是手动执行这些任务很容易出现遗忘或者重复操作的情况。好在Linux系统具备自动化执行特定任务的能力这些任务既可以按照设定的时间定期执行也可以作为一次性任务来运行。1.1 使用crontab调度任务在Ubuntu系统里调度任务的主要方式是通过cron守护进程。它能代表用户调度单个任务同时系统也会利用它来运行一些关键的系统任务。cron要运行用户调度的任务就会读取一个名为crontab的文件。每个用户都有自己的crontab文件该文件存放在/var/spool/cron/crontabs目录下。虽然可以用文本编辑器来编辑这个文件但最好使用专门的命令。系统级别的任务由/etc/crontab/文件来处理它会根据任务设定的执行时间每小时、每天、每周或每月运行/etc/cron.hourly、/etc/cron.daily等目录下的脚本。一般用户通常无需操心系统级别的cron作业这些作业由系统内部处理程序会根据需要自行创建相应的条目。cron守护进程在系统启动时就会启动在用户使用系统的过程中它会在后台每分钟检查一次是否有任务到期。一旦有任务到期它就会开始执行该任务执行完毕后又回到等待状态。创建一个调度任务相对简单可以通过shell来完成。输入以下命令就会将你的个人crontab文件加载到GNU nano文本编辑器中以便进行编辑crontab -e要是你是第一次编辑crontab文件它很可能是空的实际上你可能会看到一条消息提示需要从头创建该文件。不过别担心添加新条目并不难通常格式如下01 12 15 * * tar -cjf /home/keir/mybackup.tar.bz2 /home/keir下面来逐段分析这一行- 前半部分的数字和星号表示任务的执行时间。从左到右各个字段的含义如下- 分钟取值范围是0到59。- 小时采用24小时制取值范围是0到23。- 日期表示一个月中的第几天取值范围是1到31假设该月有这么多天。- 月份取值范围是1到12。- 星期可以用0到6表示0代表星期日也可以用三个字母的缩写如mon、tue、wed等。在这个例子中任务被设定为在每月15号的中午12点零1分执行。那么星号代表什么呢它们实际上是通配符告诉cron可以取所有可能的值。因为月份字段是星号所以这个任务每个月都会执行因为星期字段是星号所以这个任务每天都会执行。你可能会注意到这里存在一个逻辑矛盾如果同时指定了日期和星期会不会严重限制任务执行的机会呢确实会。例如如果你指定为sat并且在日期字段中填入15那么只有当该月15号恰好是星期六时任务才会执行。这就是为什么在同一个crontab条目中这两个字段很少同时使用如果使用了其中一个另一个通常会用星号表示。时间和日期字段之后就是具体的命令tar。在之前的学习中我们知道tar是用来备份个人数据的。在命令部分只能使用标准的BASH shell命令。cron无法将波浪号~这样的符号解释为指代你的主目录。因此在定义cron作业时最好使用绝对路径。再看另一个例子59 23 * * 0-3 tar -cjf /home/keir/mybackup.tar.bz2 /home/keir第一个字段表示这个任务会在23点59分即午夜前一分钟执行。日期和月份字段都是星号这意味着任务每天、每月都会执行。不过星期字段是0 - 3这表示任务只会在星期日到星期三执行。你可以根据需要添加任意数量的cron条目每个条目占一行不需要按照日期或时间顺序排列你可以根据自己的需求随时添加。完成编辑后按照常规方式按下Ctrl X保存文件并退出GNU nano。除了手动编辑crontab文件还可以使用gcrontab程序通过图形界面来编辑。不过该程序不是默认安装的你可以在Ubuntu软件仓库中找到它并使用Synaptic包管理器进行安装。使用该程序与手动编辑crontab类似先点击“Add New”按钮添加一个调度作业然后使用第二个工具栏上的各种图标来修改时间、日期、月份等最后点击闪电图标添加实际的命令。不过说实话与手动编辑crontab文件相比使用gcrontab似乎没有明显的优势但如果你真的讨厌使用命令行不妨试试看。1.2 使用anacron调度任务cron有一个不足之处就是它要求计算机始终处于运行状态。如果你像之前的例子那样将任务调度在午夜左右执行但此时计算机没有开机那么这个任务就不会执行。anacron就是为了解决这个问题而创建的。它也可以运行调度任务但与cron不同的是它不依赖于精确的时间和日期而是基于时间段的原则。例如任务可以设置为每天执行实际上任务可以设置为每x天执行一次不管是每两天还是每十万天。而且即使在这个时间段内计算机关机并重新启动任务也只会在指定的时间段内执行一次。此外任务还可以专门设置为在每个月的月初执行而不考虑每个月的天数。anacron主要用于系统维护任务的详细信息存储在anacrontab文件中。与crontab不同的是每个用户并没有自己的anacrontab文件。不过你也可以将自己的命令添加到主anacrontab文件中。这个文件可以用任何文本编辑器进行编辑不需要使用专门的命令不像crontab但需要使用超级用户权限。anacrontab文件中每行的格式如下days delay name of task commanddays字段表示任务执行的间隔天数。如果要设置任务每天执行就输入1如果要让任务每9天执行一次就输入9如果要设置为每月执行就输入monthly。delay字段告诉anacron在运行任务之前需要等待的时间单位是分钟。这是必要的因为anacron通常在系统启动时运行如果它立即运行调度的任务可能会导致系统因过于繁忙而卡顿。一般来说延迟5分钟就足够了但如果在该任务之前已经有其他任务安排在同一天执行你需要留出足够的时间让它们完成。name of task字段是供你个人参考用的不能包含斜杠或空格建议用下划线或句号来分隔单词。command字段和crontab中的一样是需要执行的shell命令。需要注意的是anacron是以root用户身份运行的所以如果你在anacrontab文件中添加了自己的条目它创建的任何文件也将归root用户所有。例如如果你使用anacron来备份/home目录生成的备份文件将归root用户所有你需要使用chown命令来更改其所有权以便你能够访问它。下面是一个anacrontab条目的例子1 15 backup_job tar -cjf /home/keir/mybackup.tar.bz2 /home/keir这将每天运行指定的tar命令并且在anacron首次运行后延迟15分钟执行。anacron会在每次系统启动时自动运行你也可以在命令提示符下手动运行它需要超级用户权限sudo anacron1.3 使用at调度一次性任务如果你想快速调度一个一次性任务可以使用at命令。使用at添加作业非常简单因为at命令支持多种时间格式。例如在命令提示符下输入以下命令将在明天午餐时间运行一个作业at noon tomorrow就这么简单你也可以指定具体的时间、日期甚至年份at 13:00 jun 25 2008这将在2008年6月25日下午1点运行作业。at命令的各种时间和日期格式可以在其手册页中查看。输入包含日期的at命令后会出现一个模拟的shell提示符。在这里你可以输入想要运行的命令。可以依次输入多个shell命令每个命令之间按回车键分隔。输入完毕后按下Ctrl D表示编辑完成。此时at会确认时间并将任务写入其任务列表。你可以随时输入atq来查看任务列表它会显示一个编号的作业列表。要删除任何作业只需输入atrm后面跟上该作业在atq列表中的编号。例如以下命令将删除atq列表中编号为9的作业atrm 92. 远程访问计算机Linux在网络支持方面表现出色包括对互联网的支持。借助一些实用的系统工具你可以通过各种网络包括互联网访问Linux计算机甚至可以像坐在远程计算机前一样操作它。2.1 使用安全外壳Secure ShellSSH在Unix的发展历程中计算机之间的连接一直是一个重要的部分无论是哑终端连接到大型机还是Unix机器作为新兴互联网的节点。为了实现计算机之间的通信和登录人们发明了各种各样的技术和协议。然而在现代互联网环境下数据隐私面临着新的威胁。理论上任何通过互联网传输的数据都有可能在传输过程中的某些关键节点被他人获取。如果数据没有得到任何保护就很容易被拦截和读取。为了应对这种情况人们开发了SSH程序套件。虽然这些程序最初是开源的但后来逐渐变成了专有软件。因此又出现了一些新的开源版本其中包括大多数Linux发行版包括Ubuntu使用的OpenSSH。SSH的目标是在两台计算机之间建立安全的连接。建立连接后你可以执行几乎任何任务比如启动一个shell会话就像你坐在远程计算机前一样使用它或者在两台计算机之间复制文件。SSH在连接的两端使用各种技术不仅对两台计算机之间传输的数据进行加密还对用户名和密码进行加密。登录到远程计算机最基本的SSH连接方式是远程登录。通过这种方式你可以在远程计算机上获得一个命令提示符就像你刚刚坐在它前面并打开了GNOME终端一样。不过在通过SSH登录到任何计算机之前你需要确保远程计算机能够接受SSH连接。这意味着它需要运行SSH服务器程序也称为服务并且其防火墙需要为传入连接开放端口。OpenSSH有两个主要组件客户端和服务器。大多数发行版都会安装这两个组件并始终运行服务器组件。但在Ubuntu系统中只安装了SSH客户端组件。要安装服务器组件从而实现远程访问Ubuntu系统你需要打开Synaptic包管理器系统 - 管理搜索openssh-server然后点击安装。安装完成后配置会自动完成。不过如果你使用的是Ubuntu防火墙你需要配置一个传入规则来开放端口22。要启动与远程计算机的SSH远程shell会话通常在本地计算机的命令提示符下输入类似以下的命令ssh usernameIP address也就是说你需要指定要登录的用户名以及远程计算机的IP地址。如果要访问的系统有完全限定域名FQDN你也可以指定该域名而不是IP地址。输入命令后系统会提示你输入密码这个密码是你要登录的远程计算机上账户的密码。当你第一次登录时会看到以下消息The authenticity of the host host IP address cant be established这意味着远程计算机的加密密钥还没有添加到你的PC的存储文件中。不过一旦你同意首次登录加密密钥就会被添加以后再连接该远程计算机时就会使用该密钥来确认其真实性。确认要建立连接后你需要输入用于启动SSH连接的用户账户的密码。输入正确密码后你就会在远程计算机上获得一个shell登录。你可以像在本地计算机上一样运行相同的命令并执行相同的任务。你登录的远程计算机不会显示出被远程使用的迹象这不像电影里那样你在本地计算机上输入的内容会在远程计算机上显示出来让所有人看到。不过如果远程计算机的用户使用类似netstat这样的命令查看网络连接就会看到有另一台计算机通过SSH连接到了该计算机。要结束SSH会话只需输入exit这样你就会回到自己计算机的命令提示符下。此外还有一个运行在多种非Linux操作系统上的SSH客户端版本叫做PuTTY你可以从www.chiark.greenend.org.uk/~sgtatham/putty/下载它这样就可以从Windows计算机登录到你的Ubuntu机器了。管理远程会话当你打开任何类型的shell来输入命令和运行程序时你可能会注意到只要shell窗口关闭其中正在运行的任何命令也会随之结束。这是因为shell被视为进程的“所有者”当所有者结束时它启动的任何进程也会结束。使用SSH启动远程shell会话时也是如此。每当你注销时正在运行的任何任务都会结束。这可能会让人感到烦恼比如你在远程计算机上启动了一个长时间的下载任务实际上你必须通过SSH保持登录状态直到下载完成。为了解决这个问题你可以使用screen程序。它虽然不是专门为辅助远程登录而设计的但完全可以用于这种情况。screen程序可以启动即使shell窗口关闭、SSH连接中断或丢失也会继续存在的shell会话。通过SSH登录到远程计算机后你可以在提示符下输入以下命令来启动一个screen会话screen按照提示按下空格键启动程序后不会有任何迹象表明你正在运行一个screen会话。例如终端窗口底部不会有任务栏。screen完全在后台运行。下面来看看如何分离和重新连接到一个screen会话。要分离screen会话按下Ctrl A然后按下Ctrl D。这时你会回到标准shell实际上你可以像往常一样断开SSH连接。不过screen会话仍会在远程计算机的后台运行。为了验证这一点你可以再次登录然后输入以下命令screen -r这将恢复你的screen会话你可以继续之前的操作之前命令的输出也会显示出来。要退出screen会话你可以在会话中输入exit或者按下Ctrl A然后按下Ctrl \反斜杠。screen程序功能强大要了解更多信息可以阅读它的手册页。在screen运行时按下Ctrl A然后输入问号?可以查看其键盘命令列表。2.2 在远程计算机之间传输文件SSH工具提供了两种基本的在计算机之间传输文件的方法scp和sftp。scp适用于较小文件的传输如果你要复制大量文件sftp可能是更好的选择。使用scp严格来说scp只是一个使用底层SSH协议安全地将文件从一台计算机复制到另一台计算机的程序。你不需要通过SSH登录到另一台计算机就可以使用它。例如如果你只是在自己的计算机上浏览文件想要将一个文件传输到远程计算机可以输入以下命令scp myfile keirIP address:/home/keir/你需要将IP address替换为你要发送文件的计算机的IP地址。也就是说你首先要指定要复制的本地文件然后按照与SSH登录相同的格式提供远程计算机的登录详细信息。冒号后面指定你希望文件复制到的远程计算机上的路径。如果你已经通过SSH登录到另一台计算机使用该命令的方式完全相同。假设现在有两台计算机A和B你在两台计算机上都有用户账户。坐在计算机A前你可以通过输入以下命令与计算机B建立SSH连接ssh keircomputer_B登录到计算机B后你发现有一个名为spreadsheet.xls的文件你想将其复制到本地计算机A上。这时你可以执行以下命令scp spreadsheet.xls keircomputer_A:/home/keir/这将把文件从计算机B复制到计算机A并将其放置在/home/keir/目录下。使用scp时你还可以复制整个目录只需添加-r命令选项如下所示scp -r mydirectory usernameIP address:/path/使用sftp要将大量文件复制到远程计算机或从远程计算机复制出来sftp程序是最佳选择。如果你使用过基于shell的ftp程序那么使用sftp会感觉很熟悉因为它们非常相似。与scp不同的是你使用sftp以类似于SSH的方式与远程计算机建立连接但只能使用某些特定的命令。你可以使用以下命令格式启动一个sftp会话sftp usernameIP address登录命令的格式和确认加密密钥的规则与SSH登录相同。sftp命令比较基础。例如要从远程计算机复制一个文件只需输入以下命令get filename这将把文件复制到你在启动sftp会话之前所在的本地计算机目录中。如果你在文件名后面指定一个路径文件将被复制到指定的本地目录get spreadsheet.xls /home/keir/downloaded_files/从本地计算机向远程计算机发送文件同样简单put filename在文件名后面指定路径就可以确保文件保存到远程计算机的特定路径。需要记住的是任何以感叹号!在Linux术语中称为“bang”开头的命令都会在本地计算机上作为shell命令执行。例如如果你想删除本地计算机上的一个文件可以输入以下命令!rm -rf filename单独输入一个感叹号会在本地计算机上启动一个shell会话这样你就可以执行更多任务。完成后输入exit返回到sftp程序。下面是一些常用的sftp命令列表| 命令 | 功能 || — | — ||cd| 更改远程目录 ||lcd| 更改本地目录 ||get| 下载指定文件 ||ls| 列出远程目录 ||lls| 列出本地目录 ||mkdir| 在远程计算机上创建目录 ||lmkdir| 在本地计算机上创建目录 ||put| 将指定文件上传到远程计算机 ||pwd| 打印当前远程目录 ||rmdir| 删除远程目录 ||rm| 删除远程文件 ||exit| 退出sftp||!command| 在本地计算机上执行指定命令 ||!| 启动临时本地shell会话输入exit返回sftp ||help| 显示命令列表 |2.3 远程访问GUI应用程序前面我们介绍了如何使用命令行工具连接到远程计算机。但Ubuntu是基于图形桌面的那么有没有办法运行像Nautilus文件浏览器窗口这样的程序以便在远程计算机上操作文件呢答案是肯定的Linux的图形子系统X是为跨网络工作而设计的。实际上如果你在桌面PC上运行LinuxX仍然通过机器内部的回环网络工作即网络命令发出后又指向发起命令的同一台机器。因此可以让远程计算机上的程序在本地计算机的X服务器上运行。应用程序的实际运行工作由远程计算机处理而图形显示工作由本地计算机处理。不过需要注意的是通过网络进行X连接可能会有点慢肯定不如在本地计算机上运行相同的应用程序那么流畅。这种延迟时间长了可能会让人感到烦躁。运行远程计算机上的X应用程序不幸的是X服务器通信通常是未加密的所以如果一台计算机直接通过网络甚至是互联网连接到X服务器数据传输将是未加密的容易被窃听。好在SSH再次发挥了作用。你可以配置SSH使远程计算机上的X应用程序能够在本地计算机上运行数据通过SSH连接传输。使用SSH登录到远程计算机时同时指定-X标志ssh –X usernameIP address登录后你可以像往常一样输入应用程序的名称来启动它。唯一的区别是程序会显示在本地计算机的屏幕上而不是远程计算机上。通过互联网甚至本地网络使用X并不快打开菜单或屏幕需要频繁重绘时你可能会遇到延迟。不过它确实非常有用。运行远程连接上的GNOME桌面甚至可以通过SSH连接运行整个GNOME桌面。也就是说你可以像坐在远程计算机前一样访问其桌面。要实现这一点你需要在本地计算机上启动一个精简的X服务器shell然后通过SSH连接在远程计算机上启动GNOME桌面。在你想要发起连接的本地计算机上关闭所有打开的程序然后按下Ctrl Backspace来终止X服务器。如果发现GUI重新启动再次按下Ctrl Backspace。在命令提示符下登录然后输入以下命令xinit这将启动一个基本的X会话并带有一个xterm shell窗口。然后你可以使用SSH命令登录到远程计算机并指定允许通过连接进行X通信ssh -X usernameIP address接着输入以下命令gnome-session几秒钟后远程计算机的GNOME桌面将显示出来。注意不要关闭原始的xterm窗口因为它是gnome-session进程的所有者关闭它会导致桌面关闭。同样远程桌面对鼠标点击和键盘输入的响应会比较慢但应该还是可以使用的。如果你经常需要这样做你可能希望在本地计算机上配置一个仅命令行的运行级别。这意味着你启动时会进入一个非GUI登录提示符然后可以手动启动自己的X会话可以在本地计算机上运行GNOME也可以在远程计算机上运行。大多数Linux发行版如Red Hat或SUSE将运行级别3定义为仅命令行模式你也可以这样做。在Ubuntu系统中运行级别2到5是完全相同的。通常使用运行级别2运行级别3到5实际上是备用的可以根据需要进行更改。要停止在运行级别3下自动启动GUI输入以下命令sudo rm –f /etc/rc3.d/S13gdm之后你需要修改/etc/inittab文件使系统启动到修改后的运行级别3。可以使用以下命令将其加载到Gedit文本编辑器中sudo gedit /etc/inittab找到以id:2:initdefault:开头的行将其改为id:3:initdefault:然后保存文件并重新启动。登录后你可以选择启动用于远程连接的X服务器shell或者通过输入startx在本地计算机上启动通常的GNOME桌面。2.4 通过远程桌面访问Ubuntu通过网络访问PC桌面还有一种不太安全但更方便的方法那就是使用Ubuntu的远程桌面功能。这种方法的优点是远程计算机的桌面会显示在本地计算机桌面的一个窗口中不需要终止现有的X服务器并启动新的服务器。远程桌面使用虚拟网络计算VNC软件来共享桌面。这里的关键是“共享”因为实际上任何连接的人都将控制主桌面他们可以控制鼠标和键盘输入。不过与通过SSH连接访问X相比有两个重要的区别- 虽然密码是加密传输的但VNC的其他数据传输不是加密的。虽然可以使用特殊版本的VNC或通过OpenSSH隧道实现完全加密但在Windows端设置起来可能比较困难。- 远程桌面不会被黑屏所以站在远程计算机前的人可以看到你在做什么这可能会带来安全和隐私风险。如果你能接受这些问题那么在计算机上启用远程桌面访问很容易步骤如下1. 点击“系统” - “首选项”然后点击“远程桌面”。在“允许其他用户查看你的桌面”旁边打勾并确保“允许其他用户控制你的桌面”旁边也打勾。在这个选项下方你可以选择用户是否可以确认每个连接以及是否要设置密码。这两个选项都可以增加系统的安全性但确认选项意味着必须有人在计算机前授权传入连接。2. 在你想要连接到远程桌面的计算机上点击“应用程序” - “互联网” - “终端服务器客户端”。在“计算机”字段中输入你要连接的计算机的IP地址。在“协议”下拉列表中选择VNC然后点击“连接”。3. 如果设置了密码系统会提示你输入密码输入后应该会在一个窗口中看到远程计算机的桌面。完成操作后只需关闭窗口即可终止连接。2.5 连接到远程Windows计算机终端服务器客户端程序可以让你连接到各种远程桌面服务器程序特别是通过远程桌面协议RDP连接到Windows XP或Windows 2000计算机。不过Windows XP Home、Me、98和95不支持RDP连接这意味着它们无法运行RDP服务器也不允许其他计算机访问其桌面。不过通过一些附加软件还是可以远程访问这些计算机的桌面。连接到Windows XP Professional、2000和NT使用终端服务器客户端访问Windows XP Professional、2000或NT计算机很容易。这里以XP Professional机器为例但这些说明同样适用于2000和NT。你可以在“应用程序” - “互联网”菜单中找到终端服务器客户端程序。打开程序后在“计算机”字段中输入机器的IP地址或其FQDN如果适用。不需要输入用户名、密码或其他详细信息。点击“连接”会出现一个新窗口你应该会看到一个XP登录提示。然后使用你的用户名和密码登录到Windows。需要注意的是如果你在Windows机器上的用户账户没有设置密码你将无法登录。这是Windows XP RDP系统的一个小问题解决方法很简单使用Windows控制面板中的“用户账户”小程序为自己分配一个密码。当然XP计算机需要配置为允许传入RDP连接。要进行配置右键点击“我的电脑”选择“属性”点击“远程”选项卡确保“允许用户远程连接到此计算机”被选中。如果这是你第一次通过RDP连接访问Windows计算机你可能会觉得图形效果很差。这是因为为了在网络上高效传输图形被大量压缩了。连接到其他Windows计算机你可以为几乎任何操作系统下载VNC服务器包括Windows、Linux和Macintosh OS X。实际上从Windows 95及以上版本的任何Windows计算机都可以运行VNC服务器。安装完成后你可以使用Ubuntu系统中的终端服务器客户端程序连接到该计算机的远程桌面。需要注意的是任何运行VNC Viewer程序的计算机都可以访问运行VNC服务器的计算机包括Ubuntu远程桌面功能设置的服务器。有各种适用于Linux、Windows、Macintosh OS X和其他操作系统包括PocketPC等的VNC Viewer程序你可以在网上搜索“VNC Viewer”来找到这些程序。和连接到Ubuntu桌面的VNC连接一样连接到Windows计算机的VNC连接也存在不安全和桌面不黑屏的问题。但如果你能接受这些那么在Windows机器上设置VNC服务器很容易。TightVNC是一个很好的VNC版本你可以从www.tightvnc.com下载Windows的自安装包。安装过程中会询问你是否要将TightVNC注册为系统服务勾选该选项这样每次计算机启动时VNC服务器都会自动启动。安装完成后会出现服务器配置程序你可以在“密码”字段中覆盖默认密码来更改密码。连接到远程Windows计算机也很简单。在Ubuntu系统上打开终端服务器客户端应用程序 - 互联网在“计算机”字段中输入远程计算机的IP地址。在“协议”下拉列表中选择VNC然后点击“连接”。系统会提示你输入远程计算机的VNC服务器密码输入后远程桌面将显示在一个窗口中。综上所述通过上述这些方法你可以在Ubuntu系统中灵活地调度任务并实现对各种计算机的远程访问。无论是定期执行系统维护任务还是远程操作计算机都能轻松应对。Ubuntu系统任务调度与远程访问全攻略续3. 总结与操作流程梳理在前面的内容中我们详细介绍了Ubuntu系统中任务调度和远程访问的多种方法下面为大家梳理一下关键操作流程和要点。3.1 任务调度操作流程使用crontab调度任务1. 打开终端输入crontab -e编辑个人crontab文件。2. 按照分钟 小时 日期 月份 星期 命令的格式添加任务例如01 12 15 * * tar -cjf /home/keir/mybackup.tar.bz2 /home/keir。3. 保存并退出编辑器如GNU nano中按Ctrl X。使用anacron调度任务1. 以超级用户权限编辑/etc/anacrontab文件。2. 按照days delay name of task command的格式添加任务例如1 15 backup_job tar -cjf /home/keir/mybackup.tar.bz2 /home/keir。3. 保存文件anacron会在系统启动时自动运行也可手动输入sudo anacron运行。使用at调度一次性任务1. 输入at 时间指定任务执行时间如at noon tomorrow或at 13:00 jun 25 2008。2. 在模拟shell提示符下输入要执行的命令按Ctrl D结束编辑。3. 可通过atq查看任务列表atrm 编号删除任务。下面是任务调度的mermaid流程图graph LR A[开始] -- B{选择调度方式} B -- C[crontab] B -- D[anacron] B -- E[at] C -- C1[编辑crontab文件] C1 -- C2[添加任务条目] C2 -- C3[保存退出] D -- D1[编辑anacrontab文件] D1 -- D2[添加任务条目] D2 -- D3[保存文件] E -- E1[指定执行时间] E1 -- E2[输入执行命令] E2 -- E3[结束编辑] E3 -- E4[查看或删除任务] C3 -- F[完成调度] D3 -- F E4 -- F3.2 远程访问操作流程使用SSH远程登录1. 确保远程计算机运行SSH服务器并开放端口22。2. 在本地终端输入ssh usernameIP address登录首次登录需确认加密密钥。3. 输入密码登录远程计算机使用exit退出会话。使用scp传输文件1. 本地到远程scp 本地文件 usernameIP address:远程路径。2. 远程到本地登录远程计算机后scp 远程文件 username本地IP:本地路径。3. 复制目录添加-r选项。使用sftp传输文件1. 输入sftp usernameIP address连接远程计算机。2. 使用get 文件名下载文件put 文件名上传文件。3. 可使用!命令在本地执行shell命令。远程访问GUI应用程序1. 登录远程计算机ssh –X usernameIP address。2. 启动应用程序程序将显示在本地屏幕。运行远程GNOME桌面1. 本地关闭程序终止X服务器Ctrl Backspace输入xinit启动X会话。2.ssh -X usernameIP address登录远程计算机输入gnome-session启动桌面。使用Ubuntu远程桌面VNC1. 本地开启远程桌面功能设置相关权限和密码。2. 远程计算机打开终端服务器客户端输入IP和协议VNC连接。连接远程Windows计算机RDPWindows XP Professional、2000、NT打开终端服务器客户端输入IP或FQDN连接输入用户名和密码登录。VNC其他Windows在Windows安装VNC服务器如TightVNC设置密码。Ubuntu端打开终端服务器客户端输入IP和协议VNC连接。以下是远程访问的mermaid流程图graph LR A[开始] -- B{选择访问方式} B -- C[SSH登录] B -- D[文件传输] B -- E[GUI应用访问] B -- F[远程桌面访问] C -- C1[确认远程SSH服务] C1 -- C2[输入登录命令] C2 -- C3[确认密钥输入密码] C3 -- C4[登录远程计算机] D -- D1{选择传输工具} D1 -- D2[scp] D1 -- D3[sftp] D2 -- D21[本地到远程或远程到本地复制] D3 -- D31[连接远程计算机] D31 -- D32[下载或上传文件] E -- E1[登录远程计算机-X] E1 -- E2[启动应用程序] F -- F1{选择桌面类型} F1 -- F2[Ubuntu远程桌面VNC] F1 -- F3[Windows远程桌面] F2 -- F21[本地开启功能设置权限] F21 -- F22[远程客户端连接] F3 -- F31{Windows版本} F31 -- F32[XP Pro、2000、NTRDP] F31 -- F33[其他VNC] F32 -- F321[客户端输入信息连接登录] F33 -- F331[Windows安装VNC服务器设置密码] F331 -- F332[Ubuntu客户端连接] C4 -- G[完成访问] D21 -- G D32 -- G E2 -- G F22 -- G F321 -- G F332 -- G4. 常见问题及解决方法在使用上述任务调度和远程访问方法时可能会遇到一些常见问题下面为大家提供相应的解决方法。问题类型问题描述解决方法任务调度crontab任务未执行1. 检查任务时间设置是否正确。2. 确认命令是否可在命令行正常执行。3. 检查文件权限。anacron任务未执行1. 检查/etc/anacrontab文件配置是否正确。2. 确保anacron服务正常运行。at任务未执行1. 检查时间格式是否正确。2. 查看atq列表确认任务是否存在。远程访问SSH无法连接1. 检查远程计算机SSH服务是否运行。2. 确认防火墙是否开放端口22。3. 检查IP地址和用户名是否正确。scp/sftp传输失败1. 检查网络连接是否正常。2. 确认文件路径和权限是否正确。远程GUI应用显示缓慢1. 检查网络带宽是否充足。2. 尝试减少同时运行的程序。远程桌面连接失败1. 检查VNC或RDP服务是否正常。2. 确认密码是否正确。3. 检查防火墙设置。5. 技巧与建议任务调度定期备份crontab和anacrontab文件防止配置丢失。使用注释为任务添加说明方便后续管理。对于重要任务设置多个时间点或使用anacron确保执行。远程访问生成SSH密钥对使用密钥认证提高安全性。在传输大文件时使用sftp并结合screen防止中断。对于远程桌面访问可调整显示分辨率和颜色深度以提高性能。通过掌握这些任务调度和远程访问的方法、操作流程、解决常见问题的技巧以及实用建议你可以更加高效、安全地使用Ubuntu系统满足各种工作和使用需求。无论是系统维护、文件传输还是远程办公都能轻松应对。希望大家在实践中不断探索和总结充分发挥Ubuntu系统的强大功能。