舉例:
手工執行打包指令是ok的,但使用腳本沒有結果
#!/bin/bash
# 定時任務調用,打包備份
tar(){
tar -zcf /backup/`date +%F`_`hostname`_etc.tar.gz /etc/ &>/dev/null
}
main(){
tar
}
main
[root@proxy1 backup]# sh /server/scripts/tar-etc.sh
[root@proxy1 backup]# pwd
/backup
[root@proxy1 backup]# ls
[root@proxy1 backup]#
# 沒有執行ok
原因就是函數名使用了shell的tar指令
将函數名改為"tar_etc"執行:
#!/bin/bash
# 定時任務調用,打包備份
tar_etc(){
tar -zcf /backup/`date +%F`_`hostname`_etc.tar.gz /etc/ &>/dev/null
}
main(){
tar_etc
}
main
[root@proxy1 backup]# sh /server/scripts/tar-etc.sh
[root@proxy1 backup]# ls
2020-11-03_proxy1_etc.tar.gz
# 結果運作ok