我对bash还不熟悉。我会向能帮助我解决这个问题的人寻求帮助。我已经创建了一个用于备份的脚本。下一步是让这个脚本在将来某个特定的时间戳上运行。我知道我可以用crontab做到这一点。我的问题是,脚本需要用户的一些输出才能正常运行。(你可以看到它询问路径)我需要做的是让脚本接受一个参数(路径),这样它就可以像这样运行: backup.sh -path=/tmp/myfoldertobackup从我刚刚读到的,似乎我必须使用getopts,但这仍然让我很困惑。看起来我还需要设置没有输入参数时的大小写。请帮帮我!
任何建议都将不胜感激!谢谢!
#!/bin/bash
#Simple backup script for onee.newdomain.tk
echo - e "Please tell me the path of directory you'd like to backup?"
read directory
cd $directory
mkdir backup
#mkdir "backup_$(date +'%Y_%m_%d__%H_%M_%S')"
SOURCEDIR=$directory
tar -czvf public.tgz public_html
mysqldump -u onee -pjFztm3s72anA oneex > onee.mysqlbackup.sql
mv public.tgz $directory/backup/
mv onee.mysqlbackup.sql $directory/backup/
mv backup backup.`date +"%d-%m-%Y"`
echo "==============================="
echo "Done!"
echo "==============================="发布于 2018-11-16 20:19:31
下面是一个示例脚本,它将为您完成此操作:
#!/bin/bash
while [ $# -gt 0 ]; do
case "$1" in
-path=*)
directory="${1#*=}"
;;
*)
echo "Invalid args: $@"
exit 1
esac
shift
done
# You can do whatever with $directory herehttps://stackoverflow.com/questions/53336792
复制相似问题