我有一个备份脚本,我需要在一天的特定时间运行它,所以我正在使用cron这个任务,并且从 cron 中我也试图将备份脚本的输出重定向到logfile.
crontab -e
*/1 * * * * /home/ranveer/backup.sh &>> /home/ranveer/backup.log
Run Code Online (Sandbox Code Playgroud)
在上面的 cron 条目中,我将两者都重定向stderr and stdout到日志文件。
上面的 cron 作业执行得很好syslog ,它执行backup.sh文件中提到的任务,但它没有向日志文件写入任何内容。
/var/log/syslog
Oct 19 20:26:01 ranveer CRON[15214]: (ranveer) CMD (/home/ranveer/backup.sh &>> /home/ranveer/backup.log)
Run Code Online (Sandbox Code Playgroud)
当我从 cli 运行脚本时,它会按要求工作并将输出写入日志文件
ranveer@ranveer:~$ ./backup.sh &>> backup.log
ranveer@ranveer:~$ cat backup.log
Fri Oct 19 20:28:01 IST 2012
successfully copied testdir
test.txt successfully copied
-------------------------------------------------------------------------------------
ranveer@ranveer:~$
Run Code Online (Sandbox Code Playgroud)
那么,为什么文件的输出没有从 cron 中重定向到文件。
我正在尝试使用 .bash 文件读取 bash 中命令的输出while loop。
while read -r line
do
echo "$line"
done <<< $(find . -type f)
Run Code Online (Sandbox Code Playgroud)
我得到的输出
ranveer@ranveer:~/tmp$ bash test.sh
./test.py ./test1.py ./out1 ./test.sh ./out ./out2 ./hello
ranveer@ranveer:~/tmp$
Run Code Online (Sandbox Code Playgroud)
在这之后我试过了
$(find . -type f) |
while read -r line
do
echo "$line"
done
Run Code Online (Sandbox Code Playgroud)
但它产生了一个错误test.sh: line 5: ./test.py: Permission denied。
那么,我如何逐行阅读它,因为我认为目前它正在一次吞食整行。
所需输出:
./test.py
./test1.py
./out1
./test.sh
./out
./out2
./hello
Run Code Online (Sandbox Code Playgroud) 我通常使用service start/stop或initctl start/stop来启动或停止守护进程,但现在我正在寻找的是禁用守护进程在启动示例中启动mysqld。
目前我正在做的是重命名/etc/init/mysql.conf,/etc/init/mysql.conf.bak但在阅读了一些关于systemd我开始知道它为enable & disable上述任务提供选项后。
那么,ubuntu 12.04 中是否有类似的东西upstart?
我有一些带有.mkv扩展名的文件,我想使用du -h. 一些文件前面有whitespace字符。
ranveer@ranveer:~$ ls *.mkv
Arrow.S01E02.720p.HDTV.X264-DIMENSION_(1) [SHYAMPAREEK.IN].mkv
mymediafirefreefreak.com_The.Mentalist.S05E04.480p.HDTV.X264-mRS.mkv
SHYAMPAREEK.IN-The.Vampire.Diaries.S04E02.720p.HDTV.X264-DIMENSION_(1).mkv
Supernatural.S08E03.720p.HDTV.X264-DIMENSION_(1)SHYAMPAREEK.IN].mkv
[WWW.SHYAMPAREEK.IN].Arrow S01E01 480p HDTV.mkv
[WWW.SHYAMPAREEK.IN].Castle.2009.S05E03.480p.HDTV.x264-mSD.mkv
ranveer@ranveer:~$
Run Code Online (Sandbox Code Playgroud)
现在,我使用xargs应用于du -h每个文件,但对于前面有whitespace字符的文件,我收到No such file or directory错误。
ranveer@ranveer:~$ ls *.mkv | xargs -I f du -h "f" | awk '{print $1}'
du: cannot access `[WWW.SHYAMPAREEK.IN].Arrow S01E01 480p HDTV.mkv': No such file or directory
du: cannot access `[WWW.SHYAMPAREEK.IN].Castle.2009.S05E03.480p.HDTV.x264-mSD.mkv': No such file or directory
186M
151M
185M
186M
ranveer@ranveer:~$
Run Code Online (Sandbox Code Playgroud)
但是当我du -h …