linux的例行性工作(at)

使用場景:

  • 生活中,我們有太多場景需要使用到鬧鐘,比如早上 7 點起床,下午 4 點開會,晚上 8 購物,等

  • 在 Linux 系統里,我們同樣也有類似的需求。比如我們想在凌晨 1 點將文件上傳服務器,或在 晚上 10 點確認系統狀態,等等。

at 命令就是為這個需求而誕生的。使用 at 命令,你可以在特定時間自動完成你所設定的任務, 也可以實現自動化,非常方便快捷!

單一執行的例行性任務---at(一次性)

安裝

  • at命令需要安裝

[root@server ~]# yum install at -y

[root@server ~]# at -V # 大寫V

at version 3.2.2

  • 啟動服務

[root@server ~]# systemctl start atd

[root@server ~]# systemctl enable --now atd # 設置開機啟動

[root@server ~]# systemctl status atd # 查看狀態

at命令詳解

格式:at -參數 日期時間

參數

-m:當任務完成后,即使沒有標準輸出,也會給用戶發送郵件

-l:列出系統上所有用戶的at任務,等價于atq

-d:刪除或取消一個任務

-v:使用時間格式,列出at任務

-c:可以列出任務之后的命令內容

-f:從文件中讀取

時間格式

實驗1:延遲執行ls? /root,并將結果寫入at.txt中

[root@server ~]# at 14:17

warning: commands will be executed using /bin/sh

at> ls /root > at.txt

at> <EOT> # 點擊ctrl+d 結束交互性界面

[root@server ~]# at -l # 查看已存在的計劃任務

3 Thu May 25 14:17:00 2023 a root

[root@server ~]# atq # 同上

3 Thu May 25 14:17:00 2023 a root

實驗2:不使用交互性命令實現,通過管道符命令執行

[root@server ~] # echo "echo 'hello again' >> at.txt" | at now +1 minute

注意:

  • at命令只要指定的時間正確,就可以執行對應的命令
  • at命令的輸出結果不會顯示到屏幕上
  • at命令中執行的命令最好使用絕對路徑,不容易報錯
  • 過程:輸入at 時間 -> 回車 ->輸入執行的命令->ctrl+d退出at
  • at命令只會執行一次

at命令執行過程分析

  • 第一步:尋找/etc/at.allow (白名單)是否存在,寫在該文件中用戶才可執行at命令
  • 第二步:若/etc/at.allow不存在,則尋找/etc/at.deny(黑名單)文件,寫在該文件中的用戶不能使用 at命令
  • 第三步:若兩個文件都不存在則只有root用戶可以使用at命令
  • 注意:若拒絕某用戶使用at命令則可以將用戶名寫入到/etc/at.deny

實驗3:設置某賬戶at命令不可用

[root@server ~]# useradd ce1 # 新建賬戶

[root@server ~]# passwd ce1 # 設置密碼

更改用戶 ce1 的密碼 。

新的密碼: # 654321

無效的密碼: 密碼少于 8 個字符

重新輸入新的密碼: # 654321

passwd:所有的身份驗證令牌已經成功更新。

[root@server ~]# tail -1 /etc/passwd # 倒敘查看賬戶管理文件

ce1:x:1001:1001::/home/ce1:/bin/bash

[root@server ~]# vim /etc/at.deny # 設置黑名單

ce1 # 輸入

[root@server ~]# su ce1 # 切換賬戶

[ce1@server root]$ cd ~

[ce1@server ~]$ at 14:36 # 測試,at命令不可用

You do not have permission to use at.

[ce1@server ~]$ su root # 切換到root賬戶

密碼:

su: 拒絕權限

# 安全考慮,openEuler做了用戶權限切換限制,解決方法如下:

# 重新開啟一個ssh連接,以root賬戶登錄

[root@server ~]# vim /etc/pam.d/su # PAMPluggable Authentication Modules)負責

系統中很多應用程序的登錄認證,安全設置問題

# 注釋掉第21行:

# auth required pam_wheel.so use_uid

# 保存關閉后,切換到原ssh連接

[ce1@server ~]$ su root

密碼:

Welcome to 5.10.0-153.12.0.92.oe2203sp2.x86_64

System information as of time: 20231115日 星期三 13:38:45 CST

System load: 0.00

Processes: 139

Memory used: 9.8%

Swap used: 0%

Usage On: 7%

IP address: 192.168.48.130

Users online: 2

[root@server ce1]# cd ~

[root@server ~]#

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/78510.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/78510.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/78510.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AAAI2016論文 UCO: A Unified Cybersecurity Ontology

作者信息 作者同樣是來自馬里蘭大學的。 嚴格說來&#xff0c;此文是Workshop論文&#xff0c;但是一篇非常經典的文章&#xff08;極少數嘗試構造通用安全本體的文章&#xff09;&#xff0c;引用非常多。 中心思想 設計UCO&#xff0c;集成來自不同網絡安全系統的異構數據…

【白雪講堂】構建與優化企業知識圖譜的實戰指南

在GEO&#xff08;生成式引擎優化&#xff09;時代&#xff0c;知識圖譜不僅是企業數據資產的“智慧大腦”&#xff0c;更是連接內容與AI理解之間的核心橋梁。一個高質量的知識圖譜&#xff0c;能夠顯著提高AI平臺對企業內容的識別度、相關性與推薦權重&#xff0c;從而在AI搜索…

什么是WebSocket?NGINX如何支持WebSocket協議?

大家好&#xff0c;我是鋒哥。今天分享關于【什么是WebSocket&#xff1f;NGINX如何支持WebSocket協議&#xff1f;】面試題。希望對大家有幫助&#xff1b; 什么是WebSocket&#xff1f;NGINX如何支持WebSocket協議&#xff1f; 1000道 互聯網大廠Java工程師 精選面試題-Java…

【免費項目分享】(項目加說明文檔)基于Go語言的城市電動汽車充電樁管理系統設計與實現

免費項目分享系列&#xff0c;需要的可后臺 基于Go語言的城市電動汽車充電樁管理系統設計與實現 技術&#xff1a;Go、Beego框架、Vue、MySQL 地址&#xff1a;https://download.csdn.net/download/weixin_53920044/90697080 用戶功能 1.充電樁搜索與導航&#xff1a;用戶可以…

線程池單例模式

線程池的概念 線程池是一種線程使用模式。 一種線程使用模式。線程過多會帶來調度開銷&#xff0c;進而影響緩存局部性和整體性能。而線程池維護著多個線程&#xff0c;等待著監督管理者分配可并發執行的任務。…

【Android Compose】焦點管理

官方文檔鏈接&#xff1a; https://developer.android.google.cn/develop/ui/compose/touch-input/focus?hlzh-cn 1、更改焦點遍歷順序 1.1、替換一維遍歷順序 &#xff08;1&#xff09;創建焦點引用對象&#xff1a; /// 創建4個引用對象&#xff08;二選一&#xff09…

dwj2025426

目錄 一、25. K 個一組翻轉鏈表 - 力扣&#xff08;LeetCode&#xff09; 二、 215. 數組中的第K個最大元素 - 力扣&#xff08;LeetCode&#xff09; 三、 15. 三數之和 - 力扣&#xff08;LeetCode&#xff09; 一、25. K 個一組翻轉鏈表 - 力扣&#xff08;LeetCode&#…

C++ std::forward 詳解

在 C 11 引入的眾多特性中&#xff0c;std::forward占據著獨特且重要的地位。它主要用于實現所謂的 “完美轉發”&#xff0c;這一機制在現代 C 編程中發揮著關鍵作用&#xff0c;尤其是在編寫通用庫和高效代碼時。 什么是完美轉發&#xff1f; 完美轉發是指在函數模板中&…

如何保證線程安全(含典型手段與應用場景)

? 1. 什么是線程安全&#xff1f; 線程安全指的是&#xff1a;當多個線程同時訪問同一塊代碼時&#xff0c;無論運行時環境采用怎樣的調度方式或者這些線程將怎樣交替執行&#xff0c;代碼的行為都能正確執行&#xff0c;且不會出現數據不一致、臟數據或異常崩潰。 舉個簡單…

Qt/C++開發監控GB28181系統/協議解釋說明/SIP內容解釋/每一行數據什么含義

一、前言 搞gb28181開發&#xff0c;首要任務就是解析協議&#xff0c;按照gb28181的文檔來&#xff0c;還是非常詳細的&#xff0c;通過抓包工具可以查看到具體的收發數據&#xff0c;也可以打開網絡調試助手工具&#xff0c;監聽5060端口&#xff0c;看到上報的數據&#xf…

C++:string 1

練習題&#xff1a; 這個題的思路是從前往后&#xff0c;從后往前同時找&#xff0c;不是字母的話就繼續&#xff0c;是的話就交換。 代碼&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <string> using namespace std; //1、4個…

SMT貼片加工費控制與優化實踐指南

內容概要 SMT貼片加工費的控制與優化需建立在對成本結構的系統性認知基礎上。本節從物料采購、設備運行、工藝參數三大維度切入&#xff0c;結合BOM清單管理、鋼網使用規范等實操環節&#xff0c;構建覆蓋全流程的降本增效框架。以下表格列舉了SMT加工成本的典型構成要素及其占…

未來醫院已來:AI如何實現無死角安全監控

AI智慧醫院如何用算法守護安全與效率 ## 背景&#xff1a;醫療場景的智能化轉型需求 現代醫院作為人員密集、場景復雜的公共場所&#xff0c;面臨諸多管理痛點&#xff1a;患者跌倒可能延誤救治、醫鬧事件威脅安全、醫療垃圾處置不當引發感染風險、重點區域&#xff08;如藥…

Nuxt3中使用UnoCSS指南

Nuxt3中使用UnoCSS指南 UnoCSS是一個高度可定制的、原子化CSS引擎&#xff0c;可以輕松集成到Nuxt3項目中。下面介紹如何在Nuxt3中安裝和配置UnoCSS。 安裝步驟 安裝UnoCSS的Nuxt模塊&#xff1a; # 使用pnpm pnpm add -D unocss unocss/nuxt# 使用yarn yarn add -D unocss…

mmap詳解

mmap詳解 mmap基礎概念mmap內存映射原理mmap相關函數調用mmap的使用細節mmap和常規文件操作的區別 mmap基礎概念 mmap是一種內存映射文件的方法&#xff0c;即將一個文件或者其它對象映射到進程的地址空間&#xff0c;實現文件磁盤地址和進程虛擬地址空間中一段虛擬地址的一一…

Vue3的內置組件 -實現過渡動畫 TransitionGroup

Vue3的內置組件 -實現過渡動畫 TransitionGroup 是一個內置組件&#xff0c;用于對 v-for 列表中的元素或組件的插入、移除和順序改變添加動畫效果 支持和 基本相同的 props、CSS 過渡 class 和 JavaScript 鉤子監聽器&#xff0c;但有以下幾點區別&#xff1a; 默認情況下&…

【軟考-架構】14、軟件可靠性基礎

?資料&文章更新? GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目錄 軟件可靠性基本概念軟件可靠性建模軟件可靠性管理軟件可靠性設計N版本程序設計恢復塊設計&#xff08;動態冗余&#xff09;雙機容錯技術、集群技術負載均衡軟件可靠性測試…

使用Python+OpenCV對視頻抽幀保存為JPG圖像

使用PythonOpenCV對視頻抽幀保存為JPG圖像 import os import cv2 import time#視頻文件夾路徑&#xff0c;可修改 videoPath D:\\video\\ #保存的圖片文件夾路徑&#xff0c;可修改 savePath D:\\images\\ videolist os.listdir(videoPath) if not os.path.exists(savePath…

學習整理在centos7上安裝mysql8.0版本教程

學習整理在centos7上安裝mysql8.0版本教程 查看linux系統版本下載mysql數據庫安裝環境檢查解壓mysql安裝包創建MySQL需要的目錄及授權新增用戶組新增組用戶配置mysql環境變量編寫MySQL配置文件初始化數據庫初始化msyql服務啟動mysql修改初始化密碼配置Linux 系統服務工具,使My…

DeepSeek預訓練追求極致的訓練效率的做法

DeepSeek在預訓練階段通過多種技術手段實現了極致的訓練效率,其中包括采用FP8混合精度訓練框架以降低計算和內存需求 ,創新性地引入Multi-head Latent Attention(MLA)壓縮KV緩存以提升推理效率,以及基于Mixture-of-Experts(MoE)的稀疏計算架構以在保證性能的同時顯著降低…