在 CentOS 系統中,反引號(`)通常用于命令替換,它允許您將一個命令的輸出嵌入到另一個命令中
/etc/fstab 文件,并將備份文件存儲在 /tmp 目錄下。您可以使用以下命令:cp `/etc/fstab` `/tmp/fstab-$(date +%Y%m%d).bak`
這里,$(date +%Y%m%d) 命令會生成一個形如 20210901 的日期字符串,用于創建一個唯一的備份文件名。
backup.sh 的腳本,用于備份 /etc/passwd 和 /etc/shadow 文件:#!/bin/bash
# 創建備份目錄
mkdir -p /backup/etc
# 備份 /etc/passwd 和 /etc/shadow 文件
cp `/etc/passwd` `/backup/etc/passwd-$(date +%Y%m%d).bak`
cp `/etc/shadow` `/backup/etc/shadow-$(date +%Y%m%d).bak`
# 壓縮備份文件
cd /backup/etc
tar czvf etc-backup-$(date +%Y%m%d).tar.gz passwd-*.bak shadow-*.bak
# 刪除原始備份文件
rm passwd-*.bak shadow-*.bak
然后,通過運行 chmod +x backup.sh 使腳本可執行,并使用 ./backup.sh 命令執行腳本。
注意:在現代的 shell 腳本中,推薦使用 $() 代替反引號進行命令替換,因為它具有更好的可讀性和嵌套能力。例如,上面的示例可以使用 $() 重寫為:
cp "$(cat /etc/passwd)" "$(dirname "$0")/passwd-$(date +%Y%m%d).bak"
希望這些示例能幫助您理解如何在 CentOS 中使用反引號進行自動化任務。