linux shell的cp問題?!

[root@localhost ~]# vi backup-sysconfig.sh

#!/bin/bash

mkdir ~/backups/sysconfig-$(date +%Y%m%d)

cp -av /etc/sysconfig ~/backups/sysconfig-$(date +%Y%m%d)

請問~~這錯誤 應該是cp目地應該在sysconfig底下就對了

可以解釋給我聽為什麼要建立mkdir ~/backups/sysconfig-$(date +%Y%m%d)

為什麼cp 到/backups/sysconfig-$(date +%Y%m%d)不可呢?!

我想把它考備到我另一使用者要怎麼做呢?!

它寫的應該是cp整個目錄嗎?!我只知道cp過去要顯示時間 = ="

可以一條一條解釋給我聽嗎?! 我想自己隨便cp去別地方

Update:

mkdir ~/backups/sysconfig-$(date +%Y%m%d)

cp -av /etc/sysconfig ~/sysconfig-$(date +%Y%m%d)

這樣答案才是對的 我的疑惑是我要cp到/backups/要省略它才給cp

假如我的使用者是ABC請問我要填在哪呢?!

可是第一行建立不會很奇怪嗎?!一直在健檔案 執行一次就建一次?!

Update 2:

喔喔 我摸有點懂了

echo "Backup of /etc/sysconfig completed at: $(date)"

請問這行有錯嗎?!

Update 3:

哈囉~我的問題是這行有錯嗎

echo "Backup of /etc/sysconfig completed at: $(date)"

還有~~

我在在root權限 cp給ABC使用者

我shell該怎樣寫呢?!

mkdir ~/backups/sysconfig-$(date +%Y%m%d)

cp -av /etc/sysconfig ~/backups/sysconfig-$(date +%Y%m%d)

這兩行應該只寫在root的檔案裡吧!!

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    您好,誠摯的來回答您的問題 :

    請問~~這錯誤 應該是cp目地應該在sysconfig底下就對了

    可以解釋給我聽為什麼要建立mkdir ~/backups/sysconfig-$(date +%Y%m%d)

    ANS:

    mkdir ~/backups/sysconfig-$(date +%Y%m%d)

    舉個例子來講 假設今天為 2010年05月26日

    這個意思就是 mkdir ~/backups/sysconfig-20100526

    為什麼cp 到/backups/sysconfig-$(date +%Y%m%d)不可呢?!

    ANS:

    cp -av /etc/sysconfig ~/backups/sysconfig-$(date +%Y%m%d)

    拿上述的例子來看 假設今天為 2010年05月26日

    cp -av /etc/sysconfig ~/backups/sysconfig-20100526

    綜合這兩點來看很明顯 您想想因為 /etc/sysconfig

    這個檔案都要 copy 到 ~/backups/ 裡面的話,

    假設每一天都 copy 一次,

    那是不是 昨天的 ~/backups/sysconfig

    就被今天的 ~/backups/sysconfig 所覆蓋呢??

    也就是說備份就只有留一份昨天的對吧!!

    為了長期以往留下來所以打上日期囉!!

    一則可以多重備份,二則已經標上日期,很清楚明瞭

    我想把它考備到我另一使用者要怎麼做呢?!

    ANS:

    就您的那兩行程式來講,不需要做任何變更,直接複製即可使用,

    不過最好改成 mkdir -p

    它寫的應該是cp整個目錄嗎?!我只知道cp過去要顯示時間 = ="

    ANS:

    是的!! 是整個目錄,所以以 sysconfig-20100526 這樣直接來顯示日期

    可以一條一條解釋給我聽嗎?! 我想自己隨便cp去別地方

    ANS:

    在下已經在上面解釋的很清楚囉!!

    以上 AYO 阿佑

    2010-05-26 17:48:38 補充:

    假如我的使用者是ABC請問我要填在哪呢?!

    ANS:

    得要看您要怎麼寫呀?? 假設使用者是 Allen Bill Cain

    mkdir ~Allen/backups/sysconfig-$(date +%Y%m%d)

    mkdir ~Bill/backups/sysconfig-$(date +%Y%m%d)

    mkdir ~Cain/backups/sysconfig-$(date +%Y%m%d)

    可是第一行建立不會很奇怪嗎?!一直在健檔案 執行一次就建一次?!

    ANS:

    會很奇怪嗎?? 這是 ""建立目錄"" 耶!! 不是建立單個檔案

    以上 AYO 阿佑

    2010-05-26 17:54:03 補充:

    echo "Backup of /etc/sysconfig completed at: $(date)"

    請問這行有錯嗎?!

    ANS:

    有錯~~ 錯很大~~~

    看樣子... 您可能沒有太多寫程式的機會吧!!

    一眼就可以知道是錯的~~

    應該這樣才對...

    echo "Backup of /etc/sysconfig completed at:" $(date)

    字串 & 參數 得要分開,這個應該是程式的很基礎喔!!

    以上 AYO 阿佑

    2010-05-26 17:57:01 補充:

    我在在root權限 cp給ABC使用者

    我shell該怎樣寫呢?!

    mkdir ~/backups/sysconfig-$(date +%Y%m%d)

    cp -av /etc/sysconfig ~/backups/sysconfig-$(date +%Y%m%d)

    這兩行應該只寫在root的檔案裡吧!!

    2010-05-26 17:57:14 補充:

    ANS:

    並沒有疑惑呀~~~ 只需要各加一個小地方即可

    2010-05-26 17:57:27 補充:

    mkdir ~A/backups/sysconfig-$(date +%Y%m%d)

    cp -av /etc/sysconfig ~A/backups/sysconfig-$(date +%Y%m%d)

    mkdir ~B/backups/sysconfig-$(date +%Y%m%d)

    cp -av /etc/sysconfig ~B/backups/sysconfig-$(date +%Y%m%d)

    mkdir ~C/backups/sysconfig-$(date +%Y%m%d)

    cp -av /etc/sysconfig ~C/backups/sysconfig-$(date +%Y%m%d)

    Source(s): 自己+業界多年經驗+電腦週邊急救團, 自己+業界多年經驗, 自己+業界多年經驗, 自己+業界多年經驗, 自己+業界多年經驗, 自己+業界多年經驗
Still have questions? Get your answers by asking now.